So, I wanted to have my own code at DEBUG, but Apache's at WARN. Except for Kafka, which generates too many warnings, so I tried this:
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
The log4j.logger.org.apache=WARN line works. But log4j.logger.org.apache.kafka.common.config=ERROR doen't seem to do anything, as I still get plenty of log statements like
2017-12-20T14:31:42.439 WARN (org.apache.kafka.common.config.AbstractConfig) [main] - The configuration batch.size = 16384 was supplied but isn't a known config.
(The config warnings are due to a dependency, not my code, so cleaning the config file is out of my control.)
I tried reversing the order: log4j.logger.org.apache.kafka.common.config=ERROR log4j.logger.org.apache=WARN but that had no effect.
Thanks!
It looks like you are missing the additivity config on the logger.
This will prevent the incoming logger from propagating to its parent logger.
log4j.additivity.org.apache.kafka.common.config=false
more information can be found here and here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With