Как отключить сообщения журнала jose4j через мою конфигурацию log4j?

Я использую jose4j в Java-приложении, над которым я работаю. Это библиотека веб-токенов json, и я обнаружил, что помещение имени пакета в мой файл конфигурации log4j не дает ничего, чтобы успокоить (многие) сообщения журнала отладки, которые я вижу из этой вещи. Вот мой соответствующий раздел конфигурации log4j

<Root level="debug">
    <AppenderRef ref="Console"></AppenderRef>
</Root>
<Logger name="org.jose4j" level="warn" additivity="false">
    <AppenderRef ref="Console"></AppenderRef>
</Logger>

Поэтому я хочу видеть сообщения журнала от jose4j только тогда, когда они поднимаются до уровня warn (или более страшного).

Несколько вещей, которые мне удалось собрать.

  • Установка корневого логгера в "info" действительно убирает отладочные сообщения jose4j, поэтому регистратор jose4j по крайней мере знает о моей настройке логирования.

  • Похоже, что логгер, который использует jose4j - org.sl4j

  • У меня была похожая проблема вчера. Казалось, что добавление нескольких банок помогло решить эту проблему, но мне не повезло с этим.

Я также добавил эту банку в classpath... это тоже не сработало.

Кто-нибудь знает, как я могу заставить эту библиотеку работать с моей настройкой регистрации?

1 ответ

Два момента:

  • Вы должны иметь только одну реализацию интерфейса slf4j. Просто откройте org.slf4j.spi.LoggerFactoryBinder и проверьте иерархию типов (Ctrl-T в Eclipse).
  • Для log4j, например, это должен быть https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12/1.7.25.
Другие вопросы по тегам