日志打印的8种级别(很详细)
日志打印的8種級別(很詳細)
日志的輸出都是分級別的,不同的設置不同的場合打印不同的日志。下面拿最普遍用的Log4j日志框架來做個日志級別的說明,其他大同小異。
Log4j的級別類org.apache.log4j.Level里面定義了日志級別,日志輸出優先級由高到底分別為以下8種。
日志級別 | 描述 —|--- OFF | 關閉:最高級別,不打印日志。 FATAL | 致命:指明非常嚴重的可能會導致應用終止執行錯誤事件。 ERROR | 錯誤:指明錯誤事件,但應用可能還能繼續運行。 WARN | 警告:指明可能潛在的危險狀況。 INFO | 信息:指明描述信息,從粗粒度上描述了應用運行過程。 DEBUG | 調試:指明細致的事件信息,對調試應用最有用。 TRACE | 跟蹤:指明程序運行軌跡,比DEBUG級別的粒度更細。 ALL | 所有:所有日志級別,包括定制級別。
所以,日志優先級別標準順序為:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
如果日志設置為L,一個級別為P的輸出日志只有當P >= L時日志才會輸出。
即如果日志級別L設置INFO,只有P的輸出級別為INFO、WARN,后面的日志才會正常輸出。
具體的輸出關系可以參考下圖:
JAVA 日志級別
log4j定義了8個級別的log(除去OFF和ALL,可以說分為6個級別),優先級從高到低依次為:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。
ALL:最低等級的,用于打開所有日志記錄。
TRACE: designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志級別,一般不會使用。
DEBUG: 指出細粒度信息事件對調試應用程序是非常有幫助的,主要用于開發過程中打印一些運行信息。
INFO: 消息在粗粒度級別上突出強調應用程序的運行過程。打印一些你感興趣的或者重要的信息,這個可以用于生產環境中輸出程序運行的一些重要信息,但是不能濫用,避免打印 過多的日志。
WARN: 表明會出現潛在錯誤的情形,有些信息不是錯誤信息,但是也要給程序員的一些提示。
ERROR: 指出雖然發生錯誤事件,但仍然不影響系統的繼續運行。打印錯誤和異常信息,如果不想輸出太多的日志,可以使用這個級別。
FATAL: 指出每個嚴重的錯誤事件將會導致應用程序的退出。這個級別比較高了。重大錯誤,這種級別你可以直接停止程序了。
OFF: 最高等級的,用于關閉所有日志記錄。
如果將log level設置在某一個級別上,那么比此級別優先級高的log都能打印出來。例如,如果設置優先級為WARN,那么OFF、FATAL、ERROR、WARN 4個級別的log能正常 輸出,而INFO、DEBUG、TRACE、 ALL級別的log則會被忽略。Log4j建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。
從我們實驗的結果可以看出,log4j默認的優先級為ERROR或者WARN(實際上是ERROR)。
總結
以上是生活随笔為你收集整理的日志打印的8种级别(很详细)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode题目整数颠倒
- 下一篇: static--修饰(局部变量、全局变量