как изменить уровни журнала сторонней библиотеки в java

Журналы консоли загромождены логами из сторонних библиотек. Например мой проект использует клиентские библиотеки kafka и zooker keeper из-за этого слишком много логов от них

  1. 08.05.2018 10:30:38.250 INFO 2968 --- [0:0:0:0:1:2181)] org.apache.zookeeper.ClientCnxn : Открытие соединения сокета с сервером 0:0:0:0: 0:0:0:1/0:0:0:0:0:0:0:1:2181. Не будет пытаться пройти аутентификацию с помощью SASL (неизвестная ошибка)

  2. 2018-05-08 10:30:38.309 INFO 2968 --- [ main ] o.a.k.clients.producer.ProducerConfig : значения ProducerConfig:

    в моем проекте есть файл log4j2.xml. Изменение уровня корневого журнала в файле xml изменяет только уровень журнала пользовательских журналов, созданных моим проектом. Есть ли способ остановить или изменить журналы этих библиотек?


person Ahamed Hak    schedule 08.05.2018    source источник
comment
Какой API ведения журналов используют сторонние библиотеки? Записи журнала попадают в ваш файл журнала? Если это так, и поскольку вы используете Log4j2, просто настройте уровень журнала для библиотек на уровень WARN, чтобы INFO записей журнала не записывались в файл. Если вы не знаете, как это сделать, самое время прочитать документацию по Log4j2, чтобы узнать, как это работает.   -  person Andreas    schedule 08.05.2018
comment
все сторонние библиотеки использовали logback. Я редактировал неправильную конфигурацию журнала. Спасибо за помощь   -  person Ahamed Hak    schedule 09.05.2018


Ответы (1)


Переключитесь на Logback и измените уровень ведения журнала для лавинного регистратора. Обычно он называется по ссылке на класс.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
 </appender>
 <logger name="flooding logger" level="ERROR" additivity="false">
    <appender-ref ref="STDOUT"/>
 </logger>
 <root level="INFO">
    <appender-ref ref="STDOUT"/>
 </root>
</configuration>
person Lakitu Lakitutu    schedule 08.05.2018
comment
Спасибо. Я думал, что они используют log4j. Потрачено столько дней на настройку неправильного xml-файла. - person Ahamed Hak; 09.05.2018