Подтвердить что ты не робот

Как настроить использование общего журнала для входа в систему?

Мы используем slf4j + logback, и у нас были сторонние библиотеки, которые используют commons-logging. Как мне настроить использование logback?

4b9b3361

Ответ 1

Ответ заключается в том, чтобы не использовать commons-logging.jar, так как SLF4J был предназначен для того, чтобы делать то, что позволяет вести учет, но лучше. Как указывает @MahdeTo, вам нужно использовать jcl-over-slf4j.jar.

Ознакомьтесь с документацией на веб-сайте slf4j при переходе с ведения общедоступных записей.

Ответ 2

Я тоже сталкивался с этим вопросом, и обнаружил, что jcl-over-slf4j.jar действительно может решить эту проблему. Я не мог понять, почему commons-logging logback не logback автоматически использовать logback, поскольку commons-logging - это интерфейс журнала, а logback - реализации, они должны интегрироваться автоматически, пока я не нашел это:

Apache Commons Logging (JCL) предоставляет интерфейс Log, который должен быть как легковесным, так и независимым абстракцией других инструментариев ведения журналов. Он предоставляет разработчику промежуточного программного обеспечения/инструментария простую абстракцию регистрации, которая позволяет пользователю (разработчику приложения) подключить конкретную реализацию регистрации.

JCL предоставляет реализации Log с тонкой оболочкой для других инструментов ведения журналов, включая Log4J, Avalon LogKit (инфраструктура ведения журналов Avalon Framework), JDK 1.4 и реализацию API-интерфейсов ведения журналов JDK 1.4 (JSR-47) для систем до версии 1.4. Интерфейс тесно связан с Log4J и LogKit.

Очевидно, что не все интерфейсы журналов могут хорошо интегрироваться с реализацией журналов, что означает, что, если вы действительно хотите использовать logback, jcl-over-slf4j.jar является вашим единственным решением, поскольку JCL поддерживает только Log4J, Logkit, JDK 1.4.

Ответ 4

для тех, кто хочет сохранить окончательный размер упаковки; checkout mvn dependency:tree результат вашего проекта и, если существует какая-либо зависимость от commons-logging, исключите их. Поскольку jcl-over-slf4j.jar содержит классы Log и LogFactory с точно такой же структурой пакета, эти jcl-over-slf4j.jar регистрации общих файлов будут дополнительными в вашем конечном пакете.