【发布时间】:2018-06-25 00:38:29
【问题描述】:
我正在使用 2 个附加程序:
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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.MapRDB=com.A.B.maprdblogger.Appender
stdout 在控制台中写入。 MapRDB 中的 MapRDB。这是一个自定义附加程序。
我的应用程序在这个包上:com.A.B
对于我的日志,我需要:
- 标准输出中所有应用程序出错
- 来自 MapRDB 中 com.A 包的警告
- 标准输出中来自 com.A.B 包的信息
所以我写:
log4j.rootLogger=ERROR, stdout
log4j.logger.com.A=WARN, MapRDB
log4j.logger.com.A.B=INFO, stdout
log4j.additivity.com.A=false
有了这个配置,我的控制台日志很好,但 MapRDB 中没有写入任何内容。
如果没有加法错误,我在 MapRDB 中有双重登录控制台和信息登录。我尝试了很多组合,但没有做我需要的......
我想我还没有理解如何使用 log4j,任何机构都有解决方案?
【问题讨论】: