Java Log4j2-设置包和子包的日志级别

Java Log4j2-设置包和子包的日志级别,java,apache,logging,log4j2,Java,Apache,Logging,Log4j2,所以,我想在调试时使用自己的代码,但Apache在警告时使用。除了卡夫卡,它会产生太多的警告,所以我尝试了以下方法: 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.con

所以,我想在调试时使用自己的代码,但Apache在警告时使用。除了卡夫卡,它会产生太多的警告,所以我尝试了以下方法:

 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警告(org.apache.kafka.common.config.AbstractConfig)[main]-提供了配置batch.size=16384,但不是已知的配置

(配置警告是由依赖项引起的,而不是由我的代码引起的,因此清理配置文件是我无法控制的。)

我试着颠倒顺序: log4j.logger.org.apache.kafka.common.config=错误 log4j.logger.org.apache=WARN 但这没有效果


谢谢

您似乎缺少记录器上的可添加性配置

这将防止传入记录器传播到其父记录器

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

可以找到更多信息。

我也遇到了这个问题。。。问题是,
org.apache.kafka.common.config.AbstractConfig
是抽象类!所以实际上,从来没有日志实例。您需要通过具体的祖先配置日志记录。 例如(应该有大多数功能,但在功能版本中可能会添加一些其他功能):


谢谢你的回复!这看起来确实是正确的答案,但仍然不起作用。谢谢!很高兴不仅仅是我:)
log4j.logger.io.confluent.ksql.util.KsqlConfig=ERROR
log4j.logger.io.confluent.connect.avro.AvroConverterConfig=ERROR
log4j.logger.io.confluent.ksql.rest.server.KsqlRestConfig=ERROR
log4j.logger.org.apache.kafka.connect.json.JsonConverterConfig=ERROR
log4j.logger.org.apache.kafka.clients.admin.AdminClientConfig=ERROR
log4j.logger.io.confluent.ksql.logging.processing.ProcessingLogConfig=ERROR
log4j.logger.org.apache.kafka.clients.consumer.ConsumerConfig=ERROR
log4j.logger.org.apache.kafka.connect.runtime.distributed.DistributedConfig=ERROR
log4j.logger.org.apache.kafka.clients.producer.ProducerConfig=ERROR
log4j.logger.io.confluent.connect.avro.AvroDataConfig=ERROR
log4j.logger.io.confluent.kafka.serializers.KafkaAvroSerializerConfig=ERROR
log4j.logger.io.confluent.kafka.serializers.KafkaAvroDeserializerConfig=ERROR
log4j.logger.org.apache.kafka.common.config.AbstractConfig=ERROR
log4j.logger.org.apache.kafka.connect.runtime.ConnectorConfig=ERROR
log4j.logger.org.apache.kafka.connect.runtime.ConnectorConfig$EnrichedConnectorConfig=ERROR
log4j.logger.org.apache.kafka.connect.runtime.TaskConfig=ERROR
log4j.logger.org.apache.kafka.connect.storage.StringConverterConfig=ERROR
log4j.logger.org.apache.kafka.connect.runtime.SourceConnectorConfig=ERROR
log4j.logger.io.confluent.connect.jdbc.source.JdbcSourceConnectorConfig=ERROR
log4j.logger.org.apache.kafka.streams.StreamsConfig=ERROR
log4j.logger.io.confluent.connect.jdbc.source.JdbcSourceTaskConfig=ERROR