Реализация на Java slf4j: logback срещу log4j

Получих проект, направен от друг разработчик (с когото не мога да се свържа в момента). В този проект slf4j се използва за регистриране. Но виждам log4j-1.2.17.jar заедно с logback-access-1.0.9.jar,logback-classic-1.0.9.jar,logback-core-1.0.9. jar в пътя на класа. Също така файловете log4j.properties и logback.xml са в ресурсите. Сега съм объркан кое изпълнение всъщност се използва. Може ли някой да предложи нещо?

Актуализация

Има също така slf4j-api-1.7.2.jar и slf4j-log4j12-1.7.2.jar в classpath


person Khalid Saifullah    schedule 03.03.2015    source източник
comment
Вярвам, че за да работи log4j, ви е необходим мостът log4j (slf4j.org/legacy.html) . Има ли и моста? (Забележка: може да греша за това, използвах logback само със slf4j) В крайна сметка има ли значение? Ако и двете конфигурации правят приблизително едно и също нещо, трябва да можете просто да премахнете log4j, тъй като тогава определено ще използва logback.   -  person nablex    schedule 03.03.2015


Отговори (1)


Ако не виждате slf4j-api.jar в пътя на класа, тогава, както е споменато по-долу, SLF4J ще използва по подразбиране изпълнение без операции. Изглежда, че другият разработчик е използвал SLF4J, за да включи log4j-1.2.17.jar(log4j) заедно с logback-access-1.0.9.jar , logback-classic-1.0.9.jar и logback-core-1.0.9.jar(logback) по време на внедряването.

Простата фасада за регистриране за Java (SLF4J) служи като проста фасада или абстракция за различни рамки за регистриране (e.g. java.util.logging, logback, log4j), позволявайки на крайния потребител да включи желаната рамка за регистриране по време на внедряване.

Преди да започнете да използвате SLF4J, горещо ви препоръчваме да прочетете ръководството за потребителя на SLF4J от две страници.

Имайте предвид, че разрешаването на SLF4J във вашата библиотека предполага добавянето само на една задължителна зависимост, а именно slf4j-api.jar. Ако не бъде намерено обвързване в пътя на класа, тогава SLF4J ще използва по подразбиране реализация без операции.

- От SLF4J - Simple Logging Facade за Java

person Jonny Henly    schedule 03.03.2015