java log4j 加载配置文件_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] %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

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= truelog4j.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

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

weixin_39598135

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值