Reputation: 755
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!
Upvotes: 3
Views: 2981
Reputation: 5349
I also run into that issue... Problem there what org.apache.kafka.common.config.AbstractConfig
is abstract class! So really that never has instances for log. And you need to configure logging by concrete ancestors.
For example (there should be most, but some other may be added in feature versions):
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
Upvotes: 1