【问题标题】:Log4j2 - setting log levels for a package and then a subpackageLog4j2 - 为包和子包设置日志级别
【发布时间】:2018-06-03 13:11:04
【问题描述】:

所以,我想在 DEBUG 中拥有自己的代码,但 Apache 在 WARN 中。除了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=错误 log4j.logger.org.apache=警告 但这没有任何效果。

谢谢!

【问题讨论】:

    标签: java apache logging log4j2


    【解决方案1】:

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

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

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

    更多信息可以在herehere找到。

    【讨论】:

    • 感谢您的回复!这当然看起来是正确的答案,但它仍然不起作用。
    【解决方案2】:

    我也遇到了这个问题...问题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
    

    【讨论】:

    • 谢谢!很高兴不只是我:)
    猜你喜欢
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多