Как отключить сообщения журнала 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 по крайней мере знает о моей настройке логирования.
У меня была похожая проблема вчера. Казалось, что добавление нескольких банок помогло решить эту проблему, но мне не повезло с этим.
Я также добавил эту банку в classpath... это тоже не сработало.
Кто-нибудь знает, как я могу заставить эту библиотеку работать с моей настройкой регистрации?
1 ответ
Два момента:
- Вы должны иметь только одну реализацию интерфейса slf4j. Просто откройте org.slf4j.spi.LoggerFactoryBinder и проверьте иерархию типов (Ctrl-T в Eclipse).
- Для log4j, например, это должен быть https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12/1.7.25.