Разница между log4j-to-slf4j и log4j-over-slf4j - PullRequest
0 голосов
/ 01 апреля 2020

Я действительно не понимаю разницу между log4j-to-slf4j.jar и log4j-over-slf4j.jar. Из того, что я прочитал на inte rnet

log4j-to-slf4j.jar: (https://logging.apache.org/log4j/2.x/log4j-to-slf4j/index.html)

«Адаптер Log4j 2-SLF4J позволяет маршрутизировать приложения, закодированные в API Log4j 2, в SLF4J. Использование этого адаптера может привести к некоторой потере производительности, поскольку сообщения Log4j 2 должны быть отформатированы, прежде чем они могут быть переданы в SLF4J. С Log4j 2 в качестве реализации они обычно форматируются только тогда, когда к ним обращается фильтр или приложение. "

log4j-over-slf4j.jar (http://www.slf4j.org/legacy.html)

"Это позволяет пользователям log4j переносить существующие приложения в SLF4J без изменения одной строки кода, а просто путем замены файла log4j.jar на log4j-over-slf4j.jar, как описано ниже. Модуль log4j-over-slf4j содержит замены наиболее широко используемых классов log4j, а именно: org. apache .log4j.Category, org. apache .log4j.Logger, org. apache .log4j.Priority, org . apache .log4j.Level, org. apache .log4j.MD C и org. apache .log 4j.BasicConfigurator. Эти замещающие классы перенаправляют всю работу на соответствующие им классы SLF4J. "

Из того, что я понимаю, обе решают одну и ту же проблему. Но в чем именно разница? Мост против адаптера?

Спасибо много!

1 Ответ

0 голосов
/ 09 апреля 2020

Пожалуйста, поправьте меня, если я ошибаюсь - постараюсь ответить на мой вопрос.

Я только что заглянул на mvnrepository.org - ниже версии 2.x нет log4j-to-slf4j.jar, и из ссылки, которую я вставил выше, указано, что это Адаптер log4j- 2.x , а не 1.x. Также его предоставляет Фонд Apache.

И наоборот, log4j-over-slf4j.jar документирован на slf4j.org и перенаправляет записи log4j- 1.x в slf4j-api.

Так что я думаю, что я смешал яблоки и груши.

...