使用記錄器庫-如何以Ruby編寫日志消息
使用Ruby中的記錄器庫是跟蹤代碼出現(xiàn)問題的簡單方法。如果出現(xiàn)問題,詳細說明導(dǎo)致錯誤的確切事件可以節(jié)省您數(shù)小時查找錯誤。隨著程序越來越大,越來越復(fù)雜,您可能需要添加一種寫入日志消息的方法。Ruby提供了許多有用的類和庫,稱為標準庫。其中包括記錄器庫,它提供優(yōu)先級和旋轉(zhuǎn)日志記錄。
基本用法
由于記錄器庫附帶Ruby,因此不需要安裝任何GEM或其他庫。要開始使用記錄器庫,只需需要'記錄器'并創(chuàng)建一個新的記錄器對象。寫入記錄器對象的任何消息都將寫入日志文件。
#!/usr/bin/env ruby
require'記錄器'
log=記錄器(&)39;log.txt')
log.debug"創(chuàng)建日志文件"
優(yōu)先級
每個日志消息都有優(yōu)先級。這些優(yōu)先級使得搜索日志文件中的嚴重消息變得簡單,并且當(dāng)它們不需要時,記錄器對象自動過濾掉較小的消息。你可以認為這有點像你當(dāng)天的待辦事項清單。有些事情**必須完成,有些事情真的應(yīng)該完成,有些事情可以推遲到你有時間做。
在前一個示例中,優(yōu)先級為debug,這是所有優(yōu)先級中最不重要的(如果您愿意,您的待辦列表中的"推遲到您有時間")。日志消息優(yōu)先級從最小到最重要的順序如下:debug,info,warn,error和fatal。要設(shè)置記錄器應(yīng)忽略的消息級別,請使用level屬性。
#!/usr/bin/env ruby
require'記錄器'
log=記錄器(&)39;log.txt')
日志級=記錄器::警告
log.debug"這將被忽略"
日志錯誤"這不會被忽略"
您可以創(chuàng)建盡可能多的日志消息,并且可以記錄程序所做的每一件小事情,這使得優(yōu)先級非常有用。當(dāng)您'重新運行程序時,您可以將記錄器級別保留在警告或錯誤等內(nèi)容上以捕獲重要內(nèi)容。然后,如果出現(xiàn)問題,您可以降低記錄器級別(在源代碼中或使用命令行開關(guān))以獲取更多信息。
Rotation
記錄器庫還支持日志旋轉(zhuǎn)。日志旋轉(zhuǎn)可防止日志變得太大,并有助于搜索舊日志。啟用日志旋轉(zhuǎn)并且日志達到一定大小或特定年齡時,記錄器庫將重命名該文件并創(chuàng)建新的日志文件。舊的日志文件也可以配置為在某個年齡之后刪除(or"退出旋轉(zhuǎn)")。
要啟用日志旋轉(zhuǎn),請向記錄器生成器傳遞科普病毒'每月','每周',或'每日'??蛇x地,您可以傳遞最大文件大小和文件數(shù)量以保持循環(huán)給生成器。
#!/usr/bin/env ruby
require'記錄器'
log=記錄器(&)39;log.txt','每日')
log.debug"一旦日志至少變?yōu)橐粋€"
log.debug"日齡,它將被重命名并且a"
log.debug"新日志文件將被創(chuàng)建。"