Logger級別和輸出的地方


轉載自http://blog.csdn.net/u014756827/article/details/52475990

 

log4j日志配置 
關鍵字: apache log4j 
1、配置根Logger: 
log4j.rootLogger = [ level ] , appenderName, appenderName2 
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將不會被輸出 
appenderName :就是指定日志信息輸出目的地,比如(打印到控制台,輸出到文件等)。同一條日志信息

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

2、配置log輸出目的地: 
org.apache.log4j.ConsoleAppender(控制台) 
org.apache.log4j.FileAppender(文件) 
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件) 
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件) 
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方) 
3、log信息的格式: 
org.apache.log4j.HTMLLayout(HTML表格形式) 
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-dd HH: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-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自己提供的一個簡單的日志實現類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-dd HH:mm:ss} [%c]-[%p] %m%n

附例:(log4j.properties) 
例1: 
log4j.rootLogger=DEBUG, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

例2: 
#指定根Logger,及日志輸出級別,大於等於該級別的日志將被輸出( DEBUG < INFO < WARN < ERROR < FATAL ) 設為OFF可以關閉日志 
log4j.rootLogger=DEBUG, A1,A2 
#指定log輸出目的,這里設為輸出日志到指定目錄的文件my.log中 
log4j.appender.A1=org.apache.log4j.FileAppender 
log4j.appender.A1.File=\\logs\\my.log #當前根目錄下 
#指定日志信息的格式 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n

#把A2輸出到控制台 
log4j.appender.A2=org.apache.log4j.ConsoleAppender 
log4j.appender.A2.layout=org.apache.log4j.SimpleLayout

#還可以單獨指定輸出某個包的日志級別 
#log4j.logger.com.study.HelloLog4j=INFO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM