log4j和common-logging聯合使用 也只需要配置lo4j.properties
log4j會自動找classpath下的log4j.properties,而commons-logging.properties這個文件不是必須的,只要classpath下有log4j commons-logging會默認使用log4j的log實現類org.apache.commons.logging.impl.Log4JLogger
日志級別:
日志級別包括TRACE<DEBUG<INFO<WARN<ERROR<FATAL 個人認為級別只代表apache的意愿,我們照樣可以用log.error方法輸出一般的調試信息,有時候這是有用的。
Appender:
log的輸出終端,log4j提供了控制臺(ConsoleAppender),文件(FileAppender,DailyRollingFileAppender),數據庫(JDBCAppender)等各種終端實現,可以同時選擇多種。
Layout:
日志輸出的布局模式:一般用PatternLayout,這樣可以用類似正則的方式輸出日志
%m:輸出代碼中指定的消息。
%p:輸出優先級。
%r:輸入自應用啟動到輸出該log信息耗費的毫秒數。
%c:輸出所屬的類目,通常就是所在類的全名。
%t:輸出產生該日志線程的線程名。
%n:輸出一個回車換行符。Windows平臺為“\r\n”,UNIX為“\n”。
%d:輸出日志時間點的日期或時間,默認格式為ISO8601,推薦使用“%d{ABSOLUTE}”,這個輸出格式形如:“2007-05-07 18:23:23,500”,符合中國人習慣。
%l:輸出日志事件發生的位置,包括類名、線程名,以及所在代碼的行數。
以下是配置文件案例
#INFO表示日志的輸出級別
log4j.rootLogger=INFO,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] %L - %m%n
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.Append=false
log4j.appender.logfile.File=c:/stdout.log
log4j.appender.logfile.DatePattern='_'yyyyMMdd'.log'
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] %L - %m%n