log4j配置文件加载

log4j的jar包内部包含preference默认配置,使用者能够经过log4j.xml或log4j.properties来指定本身的配置。xml比properties优先。另外注意java读取properties文件时只是经过=号来分割键值对,因此#注释不能与键值对定义放在同一行。java

指定配置文件的方式有:apache

  1.log4j.jar包会先使用System.getProperty("log4j.xml或configuration")看是否有jvm参数,咱们能够经过java -Dlog4j.configuration=file:/full_path/log4j.properties 来指定(file:前缀不能省)。app

  2.代码中使用PropertyConfigurator.configure(param);来指定。比较使人困惑的多是相对路径的问题了,在IDE或jar包中能够经过getClassLoader().getResource("log4j.properties");来得到存在于CLASSPATH中资源文件。jvm

多个jar包共用一个log4j.jar的状况下能够实现让不一样jar包使用不一样的输出等级,spa

如将rootLogger设为info级别,而将本身的包设为debug级别:debug

 

log4j.logger.包名=DEBUG

 

也能够指定每一个jar包输出到不一样的文件:日志

log4j.logger.包名1=DEBUG,jar1loggercode

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
xml

下面是最简单的一份配置:blog

### 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
相关文章
相关标签/搜索