Как отключить ведение журнала от slf4j

это стороннее приложение, генерирующее огромное количество logentries на нашем appserver. Вот так:

[03.03.10 15:21:57:250 CET] 00000180 FtpProtocolHa I org.slf4j.impl.JCLLoggerAdapter info Close connection : 10.227.10.10 - admin
[03.03.10 15:27:35:209 CET] 00000181 MinaFtpProtoc I org.slf4j.impl.JCLLoggerAdapter info [/10.227.10.10] CLOSED
++++

Как отключить этот вывод из slf4j? Я заглянул в него .war-файл, чтобы найти некоторую конфигурацию для slf4j, но ничего. Их сайт тоже не помог

5 ответов


slf4j - это просто воронка для фактического бэкэнда журнала (здесь переопределение ведения журнала Jakarta commons), который вы должны настроить, чтобы избавиться от определенного вида сообщений. Для logback это соответствующий фрагмент конфигурации:

    <!--  No Tomcat debug logs -->
    <configuration>
    ...
        <logger name="org.apache.catalina.core" level="OFF" />
    ...
    </configuration>

для log4j это очень похоже.


в качестве альтернативы, скачать http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz, посмотрите там для slf4j-nop-1.6.4.jar (это регистратор без операции) и включите это в свой путь к классам. Когда slf4j classloader видит это (он смотрит, чтобы увидеть, какие регистраторы находятся в пути к классам, которые он может использовать), это должны остановить ведение журнала (после перезапуска приложения).

по крайней мере, таким образом, вам не нужно возиться с файлами конфигурации журнала...


какой журнал back-end, например logback, log4j, j.u.l., ты употребляешь? Необходимо настроить серверную часть для фильтрации этих сообщений.

кроме того, тот факт, что сообщения журнала указывают на "org.slf4j.impl.JCLLoggerAdapter " указывает, что вывод местоположения вызывающего абонента не работает правильно. (Следует упомянуть фактический вызывающий не JCLLoggerAdapter). Это может произойти, если:

  1. вы используете более старую версию SLF4J

или

  1. в абонент использует slf4j-как фантик или есть свои доморощенные API журналирования, который не выводит местоположения абонента надлежащим образом. Смотрите также соответствующий SLF4J FAQ запись.

slf4j-это фасад ведения журнала для различных рамок ведения журнала. Этот вывод поступает от адаптера Apache Commons Loggin framework, который оказывается еще одним фасадом. Конфигурация Ведения Журнала Commons.


поиск следующей строки:level="DEBUG" используя IDE. Вы найдете этот текст в .в XML.

идите туда и используйте level="INFO" вместо level="DEBUG".

значение ключа не чувствительно к регистру.

там может быть что-то вроде:

<root level="info">
    ...
</root>