1. 程式人生 > >log4j配置:每天輸出一個日誌檔案(分級別)

log4j配置:每天輸出一個日誌檔案(分級別)

#建議只適應四個級別,從低到高 DEBUG INFO WARN ERROR
log4j.rootLogger = INFO,console,infofile,errorfile  #warnfile
log4j.addivity.org.apache = true

### 輸出資訊到控制檯 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.target = System.out
log4j.appender.console.encoding = UTF-8
log4j.appender.console.layout = org.apache.log4j.PatternLayout
#日誌輸出格式 log4j.appender.console.layout.ConversionPattern = %-d{HH\:mm\:ss}[%p]-[%c] %m%n #列印mybatis debug日誌(一般沒必要) #log4j.logger.org.apache.ibatis=DEBUG #對應程式的dao層 列印sql語句 log4j.logger.com.jxqf.dao=DEBUG ### 輸出到檔案file info ### log4j.logger.infofile = info log4j.appender.infofile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.infofile.append = true log4j.appender.infofile.Threshold = INFO log4j.appender.infofile.datePattern = '.'yyyy-MM-dd'.log' log4j.appender.infofile.MaxFileSize=100000KB log4j.appender.infofile.layout = org.apache.log4j.PatternLayout log4j.appender.infofile.File = ${catalina.home}/logs_project/info.log log4j.appender.infofile.layout.ConversionPattern
= [%-5p]_%d{yyyy-MM-dd HH:mm:ss} %c - %m%n #使用日誌輸出過濾 log4j.appender.infofile.filter.F1=org.apache.log4j.varia.LevelRangeFilter log4j.appender.infofile.filter.F1.LevelMin=INFO log4j.appender.infofile.filter.F1.LevelMax=INFO ### 輸出到檔案file error ###(每天產生一個日誌檔案:DailyRollingFileAppender) log4j.appender.errorfile = error log4j.appender.errorfile = org.apache.log4j.DailyRollingFileAppender log4j.appender.errorfile.append = true log4j.appender.errorfile.Threshold = ERROR log4j.appender.errorfile.datePattern = '.'yyyy-MM-dd'.log' log4j.appender.errorfile.layout = org.apache.log4j.PatternLayout log4j.appender.errorfile.File = ${catalina.home}/logs_project/error.log log4j.appender.errorfile.layout.ConversionPattern = [%-5p] [%d{HH:mm:ss}] %c - %m%n

log4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] [%L]- %m%n ,日誌的佈局方式,%開頭的字元意義如下:

%p:輸出日誌資訊的優先順序,即DEBUG,INFO,WARN,ERROR,FATAL。
%d:輸出日誌時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。
%r:輸出自應用程式啟動到輸出該log資訊耗費的毫秒數。
%t:輸出產生該日誌事件的執行緒名。
%l:輸出日誌事件的發生位置,相當於%c.%M(%F:%L)的組合,包括類全名、方法、檔名以及在程式碼中的行數。例如:test.TestLog4j.main(TestLog4j.java:10)。
%c:輸出日誌資訊所屬的類目,通常就是所在類的全名。
%M:輸出產生日誌資訊的方法名。
%F:輸出日誌訊息產生時所在的檔名稱。
%L::輸出程式碼中的行號。
%m::輸出程式碼中指定的具體日誌資訊。
%n:輸出一個回車換行符,Windows平臺為”\r\n”,Unix平臺為”\n”。
%x:輸出和當前執行緒相關聯的NDC(巢狀診斷環境),尤其用到像java servlets這樣的多客戶多執行緒的應用中。