日誌級別WARN,ERROR和FATAL非常清晰。但是什麼時候是DEBUG和INFO?如何確定要使用的日誌級別?
我已經看到一些在INFO級別上煩人地冗長的項目,但我也看到了過多支持DEBUG級別的代碼。在這兩種情況下,有用的信息都隱藏在噪音中。
確定日誌級別的標準是什麼?
日誌級別WARN,ERROR和FATAL非常清晰。但是什麼時候是DEBUG和INFO?如何確定要使用的日誌級別?
我已經看到一些在INFO級別上煩人地冗長的項目,但我也看到了過多支持DEBUG級別的代碼。在這兩種情況下,有用的信息都隱藏在噪音中。
確定日誌級別的標準是什麼?
我不認爲有任何硬性規定;使用log4j的型水平,我的「經驗法則」是這樣的:
不是一成不變的,而是對我如何看待它的粗略想法。
想想誰需要使用每個級別。 在我的代碼中,我保留DEBUG保留給開發人員輸出,例如,輸出只會幫助開發者。 VERBOSE用於需要大量信息的普通用戶。 信息我用來正常顯示重大事件(例如發送網頁,檢查重要的事情)。
和失敗和WARN是很自我解釋。
非正式我用這種層次,
我一般會發布與信息被記錄,但只有當我知道日誌文件實際審查(和大小不是問題),否則它是警告。
如果在郵件中計算了某些內容,則我的團隊中使用debug
,而info
用於純文本。所以實際上info
會告訴你發生了什麼,debug
將顯示正在發生的事情的值。
我往往針對對用戶信息給他們,甚至沒有警告消息。 DEBUG往往是開發人員使用的地方,我輸出消息來幫助跟蹤代碼中的流量(還有變量的值)。
我也喜歡DEBUG的另一個層面(DEBUG2?),它給出了調試信息絕對bucketloads如所有緩衝區的十六進制轉儲等。
不需要DEBUG2級別。這就是'TRACE'的用途。 TRACE旨在成爲絕對最低級別的日誌記錄,輸出您可能想要查看的所有可能的信息。
避免信息氾濫,所以一般不建議啓用整個項目跟蹤級別的日誌。而是使用'DEBUG'來查找有關該錯誤的一般信息以及它發生的位置(因此名稱),然後僅在該組件上啓用TRACE時,如果仍然無法解決該問題。
我想很多INFO或WARN只會幫助開發者 – Casebash 2010-05-14 03:12:42