log4j配置文件加載


log4j的jar包內部包含preference默認配置,使用者可以通過log4j.xml或log4j.properties來指定自己的配置。xml比properties優先。另外注意java讀取properties文件時只是通過=號來分割鍵值對,所以#注釋不能與鍵值對定義放在同一行。

指定配置文件的方式有:

  1.log4j.jar包會先使用System.getProperty("log4j.xml或configuration")看是否有jvm參數,我們可以通過java -Dlog4j.configuration=file:/full_path/log4j.properties 來指定(file:前綴不能省)。

  2.代碼中使用PropertyConfigurator.configure(param);來指定。比較令人困惑的可能是相對路徑的問題了,在IDE或jar包中可以通過getClassLoader().getResource("log4j.properties");來獲得存在於CLASSPATH中資源文件。

多個jar包共用一個log4j.jar的情況下可以實現讓不同jar包使用不同的輸出等級,

如將rootLogger設為info級別,而將自己的包設為debug級別:

 

log4j.logger.包名=DEBUG

 

也可以指定每個jar包輸出到不同的文件:

log4j.logger.包名1=DEBUG,jar1logger

log4j.appender.jar1logger=org.apache.log4j.RollingFileAppender
log4j.appender.jar1logger.layout=org.apache.log4j.PatternLayout
log4j.appender.jar1logger.layout.ConversionPattern=%d [%t]<%-5p> %c -> %m%n
log4j.appender.jar1logger.File=/var/log/mylog/jar1.log
log4j.appender.jar1logger.Append=true
log4j.appender.jar1logger.MaxFileSize=1024KB
log4j.appender.jar1logger.MaxBackupIndex=5

下面是最簡單的一份配置:

### set log levels ,stdout,D,E是自己起的名字###
#設置rootLogger級別為INFO則屏蔽debug信息,級別all<debug < info < warn < error < fatal<off
log4j.rootLogger = INFO, stdout

### 輸出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  [fyk]%d{ABSOLUTE} %p [%C{1}.%M]:%L - %m%n

### 輸出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/all.log
log4j.appender.D.Append = true
## 輸出DEBUG級別以上的日志
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [%t:%r][%C{1}.%M] - [%p]  %m%n
##ERROR
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [%t:%r][%C{1}.%M] - [%p]  %m%n

 


免責聲明!

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



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