log4j配置簡要說明

2021-08-24 22:11:47 字數 1822 閱讀 5356

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配置說明

本文屬於整理記錄 方便以後使用 內容是在網上檢索得到配置檔案如下 注釋begin 另外,也可以指定按周 天 時 分等來滾動日誌檔案,對應的格式如下 1 yyyy mm 每月 2 yyyy ww 每週 3 yyyy mm dd 每天 4 yyyy mm dd a 每天兩次 5 yyyy mm dd h...

log4j 配置說明

log4j 基本使用方法 1 log4j.rootlogger 這個配置是必須的,它的定義格式 lelve 是定義的輸出級別,低於該級別的將不會輸出,主要級別有off all fatal error warn info debug或自定義級別,其中 off設定的話將不輸出任何資訊,all設定的話將輸...

Log4j的配置說明

星期日 2007年08月12日 log4j的配置說明 最近自己的做的乙個學習型的j2ee專案,發現要用到的東西蠻多的。現在是我碰到的關於日誌和除錯資訊怎麼用開源包解決,以前自己老是用system.out.println 呵呵,現在自己應該會用別的方法了。通常,log4j提供乙個名為 log4j.pr...