Нужно ли привязывать SLF4J и адаптер для log4j?
Меня смущает разница между привязкой log4j2-slf4j и адаптером log4j2-slf4j.
Может кто-нибудь объяснить простым языком, в чем различия? Ссылки, которые я установил, говорят, что адаптер "направляет" к SLF4J, а привязка "позволяет SLF4J использовать Log4j", но я не совсем понимаю, что это значит. Кроме того, мне нужны оба или только один из них?
1 ответ
Решение
Вы должны использовать только один. Если вы положите оба, вы будете вызывать бесконечный цикл. Следующее может дать вам представление:
Связывание Log4j 2 SLF4J
Если у вас есть код в вашем приложении, как это:
// Instance of SLF4J private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(MyClass.class);
И вы хотите использовать Log4J 2 (
log4j2.xml
), тогда вам может понадобиться:Адаптер Log4j 2 в SLF4J
Если у вас есть код в вашем приложении, как это:
// Instance of Log4J 2 private static final org.apache.logging.log4j.Logger LOG = org.apache.logging.log4j.LogManager.getLogger(MyClass.class);
И вы хотите использовать SLF4J (например,
logback.xml
), тогда вам может понадобиться: