Как настроить регистрацию для производителей Kafka?

Я использую клиент производителя Kafka, и у меня нет конфигурации log4j в моем проекте.

При запуске программа печатает много журналов отладки Kafka, которые мне действительно не нужны.

Итак, я попытался добавить log4j.properties, чтобы установить уровень журнала в ERROR, как показано ниже, который не работает:

log4j.rootLogger=ERROR

Как изменить уровень журнала Kafka?

Ответ 1

При запуске клиента используйте флаг командной строки -Dlog4j.configuration=file:/path/to/log4j.properties.

Пример файла свойств log4j:

Для создателя зеркала и других инструментов, которые приводят к вызову kafka-run-class.sh, вы можете использовать переменную env KAFKA_LOG4J_OPTS (установленную на что-то вроде -Dlog4j.configuration=file:/path/to/log4j.properties), чтобы изменить конфигурацию ведения журнала. Смотрите: https://github.com/apache/kafka/blob/0.10.2/bin/kafka-run-class.sh#L158

Пример моего файла log4j.properties для производителя зеркал, который я использую для тестирования.

# https://github.com/apache/kafka/blob/trunk/config/tools-log4j.properties

log4j.rootLogger=DEBUG, stderr

log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stderr.Target=System.err

Ответ 2

Попробуйте добавить в свои настройки конфигурации logging.level.org.apache.kafka: DEBUG. Я использую Springboot, и это формат. Используйте соответствующий формат для вашей программы клиентов.

Ответ 3

org.apache.log4j.Logger.getLogger("org").setLevel(Level.WARN);
org.apache.log4j.Logger.getLogger("akka").setLevel(Level.WARN);
org.apache.log4j.Logger.getLogger("kafka").setLevel(Level.WARN);

Ответ 4

Я предположил, что вы говорите о журналах сервера Kafka. Вы можете изменить уровень журнала на ERROR, используя следующую конфигурацию

log4j.logger.kafka=ERROR, kafkaAppender

Надеюсь, это поможет!