Logger级别定义
???????使用Slf4j或者諸多日志框架時,可以看到不少日志級別,我們常用INFO和ERROR,對其他級別沒有過多的使用,但是不意味著它們沒有價值,存在即合理,我們需要正確的使用日志級別來構建應用,而正確的使用來自于一致的理解。
???????Fatal/Critical級別:應用或者系統上的失敗需要立即被關注,這種情況下需要立即叫醒系統管理員。因為我們希望系統管理員能夠睡個好覺,所示這種級別的問題是很少見的,至少非常不頻繁。如果這種問題日常經常發生,最終證明實際上又不是個大問題,那就失去它的作用。一般來說,一個Fatal的錯誤會出現在應用進程最后的時刻,往往是日志中的最后一段內容。
???????Error級別:這是一個需要被關注的問題。系統管理員最好能夠被自動通知,但是不需要立即被叫起床,因為這種錯誤往往不是全面的。通過查看錯誤日志,能夠粗略的得到錯誤的頻度以及導致這個錯誤出現的原因,它可能是系統的一個錯誤,但不一定是源頭,通過定位錯誤數據的來源以及場景,在接下來的工作中進行修復。舉個例子,這些錯誤信息是否出現是決定接下來發布的衡量標準。
???????Warning級別:這可能是一個問題,或許不是。舉個例子,如果環境中的信息出現變化,比如數據庫連接斷開,這個場景應該被記錄為Warning,而非Error。通過觀察Warning日志能夠讓我們快速找到導致錯誤的起始原因,Warning使用時需要特別注意,放置使它變得沒有意義。在服務端應用斷開連接的場景下,使用Warning是比較合適的,但是如果在一個桌面程序上,當連接斷開時進行Warning,就沒有太大必要,因為這個場景經常出現,使用Info就足夠了。
???????Info級別:在正常情況下需要被記錄的重要信息,例如:系統初始化成功,服務啟動或者停止以及成功的處理了重要的業務。查看日志中的Info信息,能夠看到應用提供服務的主要狀態變更,但是也不要記錄過多的Info信息。該級別一般是應用默認的日志級別。
???????Debug級別:該信息能夠提供給開發人員,幫助其定位系統運行的路徑以及產生問題的場景和數據,對于系統管理員來說這個就不一定能夠產生價值了。
???????Trace級別:Trace是一個需要被嚴肅對待的級別,它在記錄的同時,提供了應用進入該狀態時的上下文,這樣就能更加容易的分析出問題的原因。Trace容易受到代碼修改導致的影響,因此需要開發團隊能夠定期的維護日志輸出,這樣在問題出現時就更容易定位問題。同時也需要鼓勵開發團隊將不再需要的Trace語句清除并添加新的需要的日志輸出,比如:記錄用戶的輸入等。同樣這個日志級別,對于開發人員有用,但是對于系統管理員就意義不大了。
總結
以上是生活随笔為你收集整理的Logger级别定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为LAB实验室-书本识别
- 下一篇: “Windows 正在配置 Auto C