對log4j properties的一點介紹

2021-04-18 12:29:10 字數 1238 閱讀 2865

除去以#開頭的注釋以及空行,第一行有用的內容是:

1log4j.rootlogger

=debug, console,a1

log4j.rootlogger是最最重要的乙個屬性了,它定義日誌資訊的「輸出級別」和「輸出目的地」。 關鍵看「=」後面的值,「debug, console,a1」這裡我們要把它分成兩部分:第乙個逗號之前的是第一部分,指定「輸出級別」;後面的是第二部分,指定「輸出目的地」。可以同時指定多個「輸出目的地」,以逗號隔開。

具體到上面這一行:它指定的「輸出級別」是「debug」;它指定的「輸出目的地」是「console」和「a1」。

注意:「輸出級別」有可選的五個值,分別是debug、info、warn、error、fatal,它們是由log4j系統定義的。

等)。下面詳細解釋「log4j.rootlogger=debug, console,a1」這一行:

指定「輸出級別」是「debug」,即,僅輸出級別大於等於「除錯(debug)」的日誌資訊。如果此處指定的是「warn」則僅呼叫warn()、error()、fatal()方法輸出的日誌資訊才被輸出到「輸出目的地」,而呼叫debug()、info()方法輸出的日誌資訊不被輸出到「輸出目的地」。明白了嗎?log4j就是以這種方式來過濾控制日誌資訊的輸出與否,這也是對日誌資訊進行級別分類的目的。          指定「輸出目的地」是「console」和「a1」,即,將指定的日誌資訊(根據日誌級別已進行了過濾)同時輸出到的「控制台」和「samplemessages.log4j檔案」。

為什麼說「console」表示將日誌資訊輸出到「控制台」呢?那就要看一下後文的定義了:

# 應用於控制台

為什麼說「a1」表示將日誌資訊輸出到「samplemessages.log4j檔案」呢?還要看後文的定義:

另外,我可以根據需要,將這一行修改為:

1log4j.rootlogger

=error, console,file,mail

將「錯誤(error)」及「致命錯誤(fatal)」級別的日誌資訊同時輸出到控制台、檔案,並且發電子郵件向系統管理員報告。是不是很爽?(如果將「除錯(debug)」級別的日誌資訊郵件給管理員,恐怕遲早會把他/她的郵箱漲爆,哪怕用的是gmail!再次理解了「將日誌資訊分為不同級別」的意圖了吧?)

3、目前在使用的乙個「應用於輸出到檔案」的log4j.properties設定==

===20

==[%p

] %-d [%c

]- %m%n

Log4J學習 八 Log4J對3個元件的使用

前面簡單的了解了log4j中最重要的3個元件,下面我們來看看log4j是怎麼使用這3個元件完成當我們呼叫logger.debug 方法能在控制台上列印出日誌資訊的。第一步,繼承數體系上的門檻檢查 首先當呼叫info 方法後,log4j會立刻使用該logger所在的體系結構中設定的門檻去檢查當前日誌的...

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

Log工具 Log4c 使用

構建工程,加入assert.h cpp,datalog.h cpp,開始修改 和編譯,難度也不會很大。出處 最近想找個好用的log工具,比較了一下流行的開源log工具log4c,log4cpp,log4cxx等,覺得還是log4c比較合適。log4cxx需要依賴於apr。log4cpp較log4c移...