轉 關於Log4j比較全面的配置

2021-05-25 17:29:56 字數 2037 閱讀 5244

log4j的配置之簡單使它遍及於越來越多的應用中了:log4j配置檔案實現了輸出到控制台、檔案、回滾檔案、傳送日誌郵件、輸出到資料庫日誌表、自定義標籤等全套功能。擇其一二使用就夠用了,

1、配置根logger:

level:日誌的級別,指定這條日誌資訊的重要性。分為all < debug < info < warn 一般常用的為

debug , info ,warn ,error四種,分別對應logger類的四種方法

debug(object message ) ;

info(object message ) ;

warn(object message ) ;

error(object message ) ;

如果設定級別為info,則優先順序大於等於info級別(如:info、warn、error)的日誌資訊將可以被輸出,

小於該級別的如:debug將不會被輸出

可以配置多個輸出目的地。

2、配置log輸出目的地:(每天產生乙個日誌檔案)

3、log資訊的格式:

org.apache.log4j.htmllayout(html**形式)

org.apache.log4j.******layout(簡單格式的日誌,只包括日誌資訊的級別和指定的資訊字串,如:debug - hello)

org.apache.log4j.ttcclayout(日誌的格式包括日誌產生的時間、執行緒、類別等等資訊)

org.apache.log4j.patternlayout(靈活地自定義日誌格式)

當使用org.apache.log4j.patternlayout來自定義資訊格式時,可以使用

%c 輸出所屬類的全名,可寫為 %c ,num類名輸出的範圍 如:"com.sun.aaa.classb", %c將使日誌輸出輸出範圍為:aaa.classb

%d 輸出日誌時間其格式為 可指定格式 如 %d等

%l 輸出日誌事件發生位置,包括類目名、發生執行緒,在**中的行數

%n 換行符

%m 輸出**指定資訊,如info(「message」),輸出message

%p 輸出日誌的優先順序,即 fatal ,error 等

%r 輸出從啟動到顯示該條日誌資訊所耗費的時間(毫秒數)

%t 輸出產生該日誌事件的執行緒名

4、同時使用commons-logging和log4j

1)首先在classpath下尋找自己的配置檔案commons-logging.properties,如果找到,則使用其中定義的

log實現類

2)如果找不到commons-logging.properties檔案,則在查詢是否已定義系統環境變數

org.apache.commons.logging.log,找到則使用其定義的log實現類

3)否則,檢視classpath中是否有log4j的包,如果發現,則自動使用log4j作為日誌實現類

4)否則,使用jdk自身的日誌實現類(jdk1.4以後才有日誌實現類)

5)否則,使用commons-logging自己提供的乙個簡單的日誌實現類******log

5.多個日誌檔案(log4j.rootlogger=info, a1 ,a2)

附例:(log4j.properties)

例1:

log4j.rootlogger=debug, stdout

例2:#指定根logger,及日誌輸出級別,大於等於該級別的日誌將被輸出( debug < info < warn < error < fatal ) 設為off可以關閉日誌

log4j.rootlogger=debug, a1,a2

#指定log輸出目的,這裡設為輸出日誌到指定目錄的檔案my.log中

#指定日誌資訊的格式

#把a2輸出到控制台

#還可以單獨指定輸出某個包的日誌級別

#log4j.logger.com.study.hellolog4j=info

log4j全面配置

log4j配置檔案實現了輸出到控制台 檔案 回滾檔案 傳送日誌郵件 輸出到資料庫日誌表 自定義標籤等全套功能。log4j.rootlogger debug,console,dailyfile,im log4j.additivity.org.apache true 控制台 console 日誌檔案 l...

關於log4j的配置問題

每次開啟tomcat控制台的時候,總是會出現初始化log4j的提示,今天決心把問題解決掉。在web inf classes 中新建 log4j.properties 檔案,加入以下 便能實現將錯誤資訊在後台顯示並寫入到日誌檔案 jkpt two.log 中 log4j.rootlogger erro...

關於log4j知識

log4j的作用 log4j是乙個日誌輸出的外掛程式專門用來進行日誌管理的,根據我的理解就是用來執行我們用來檢測程式bug的system.out.println 語句的,不過更為簡潔,格式也更好判斷,利用相關的符號,可以精確到某一行的問題點。log4j有兩種使用的形式,一種是利用我們建立的log4j...