Log4j2 - 设置包的日志级别,然后设置子包

问题描述 投票:0回答:1

所以,我想在DEBUG拥有自己的代码,但是在WARN拥有Apache。除了产生太多警告的Kafka,所以我尝试了这个:

 log4j.rootLogger=DEBUG,console,file
log4j.logger.org.apache=WARN
log4j.logger.org.apache.kafka.common.config=ERROR

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %p (%C) [%t] - %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/var/log/my-app/application.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %p (%C) [%t] - %m%n

log4j.logger.org.apache=WARN线工作。但log4j.logger.org.apache.kafka.common.config=ERROR似乎什么也没做,因为我仍然得到大量的日志声明

2017-12-20T14:31:42.439 WARN(org.apache.kafka.common.config.AbstractConfig)[main] - 配置batch.size = 16384已提供但不是已知配置。

(配置警告是由于依赖,而不是我的代码,所以清理配置文件是我无法控制的。)

我尝试颠倒顺序:log4j.logger.org.apache.kafka.common.config = ERROR log4j.logger.org.apache = WARN但是没有效果。

谢谢!

java apache logging log4j2
1个回答
0
投票

看起来你错过了记录器上的additivity配置。

这将阻止传入的记录器传播到其父记录器。

log4j.additivity.org.apache.kafka.common.config=false

更多信息可以在herehere找到。

© www.soinside.com 2019 - 2024. All rights reserved.