log4j.properties

http://blog.csdn.net/huangaigang6688/article/details/11181251



在eclipse或myeclipse中使用tomcat啓動項目可以在控制檯輸出相關日誌,有時日誌打印的多了查看的話很不方便,這時我們可以在我們使用的tomcat中直接配置log4j來將我們需要看的日誌打印輸出到指定的文件中,這樣便於我們進行日誌分析,下面就介紹一下如何在tomcat中配置log4j打印日誌。

       在目錄(...\Tomcat5.5.1\common\lib)下加入如下jar包,沒有的話就網上下兩個吧...

           commons-logging-1.0.3.jar
           log4j-1.2.13.jar

          在目錄(...\Tomcat5.5.1\common\classes)下加入下面的文件,我們經常配置的,很熟悉...

            log4j.properties

        看一個實例的簡單配置:

         

       相關說明一併送上:   

1、配置根Logger

log4j.rootLogger = [ level ] , appenderName, appenderName2

level:日誌的級別,指定這條日誌信息的重要性。分爲ALL < DEBUG < INFO < WARN一般常用的爲 

DEBUG  INFOWARNERROR四種,分別對應Logger類的四種方法

debug(Object message ) ;

info(Object message ) ;

warn(Object message ) ;

error(Object message ) ;

如果設置級別爲INFO,則優先級大於等於INFO級別(如:INFOWARNERROR)的日誌信息將可以被輸出,

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

appenderName :就是指定日誌信息輸出目的地,比如(打印到控制檯,輸出到文件等)。同一條日誌信息可以配置多個輸出目的地。

 

2、配置log輸出目的地:

org.apache.log4j.ConsoleAppender(控制檯)

org.apache.log4j.FileAppender(文件)

org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件)

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)

org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)

3log信息的格式:

org.apache.log4j.HTMLLayoutHTML表格形式)

org.apache.log4j.SimpleLayout(簡單格式的日誌,只包括日誌信息的級別和指定的信息字符串,如:DEBUG - Hello

org.apache.log4j.TTCCLayout(日誌的格式包括日誌產生的時間、線程、類別等等信息)

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

當使用org.apache.log4j.PatternLayout來自定義信息格式時,可以使用

log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss} %p -%m%n來格式化信息

%c 輸出所屬類的全名,可寫爲 %c{Num} ,Num類名輸出的範圍如:"com.sun.aaa.classB",%C{2}將使日誌輸出輸出範圍爲:aaa.classB

%d 輸出日誌時間其格式爲可指定格式 %d{HH:mm:ss}

%l 輸出日誌事件發生位置,包括類目名、發生線程,在代碼中的行數

%n 換行符

%m 輸出代碼指定信息,如info(message),輸出message

%p 輸出日誌的優先級,即 FATAL ,ERROR

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

%t 輸出產生該日誌事件的線程名

 

4、同時使用commons-loggingLog4j

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自己提供的一個簡單的日誌實現類SimpleLog

 

5.多個日誌文件(log4j.rootLogger=INFO, A1 ,A2) 

#A2 輸出到文件 RollingFileAppender的擴展,可以提供一種日誌的備份功能。 

log4j.appender.A2=org.apache.log4j.RollingFileAppender 

#日誌文件的名稱 log4j.appender.A2.File=log4j.log 

#日誌文件的大小 log4j.appender.A2.MaxFileSize=100KB 

#保存一個備份文件 log4j.appender.A2.MaxBackupIndex=1 

log4j.appender.A2.layout=org.apache.log4j.TTCCLayout 

#log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-ddHH:mm:ss} [%c]-[%p] %m%n


發佈了26 篇原創文章 · 獲贊 23 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章