При развертывании моего приложения Spring/Hibernate я получаю следующее предупреждение, связанное с протоколированием:
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
Удивительным для меня было отсутствие информации из поиска Google/SO. Единственное, что было уместно, это SO-сообщение Проблема с настройкой Commons Logging/Log4j в Spring webapp с tomcat 6
Однако это даже вне меня. Может ли кто-нибудь прояснить системы регистрации в игре здесь или указать мне на ПОСЛЕДНИЙ ресурс по этому вопросу (есть некоторые древние результаты поиска Google, которые на самом деле не применяются). В частности, проблемы, с которыми я борюсь, заключаются в следующем:
-
Различие между общедоступными данными, log4j, slf4j и JCL. Я понимаю, что slf4j является оберткой, а commons-logging и log4j являются фактическими реализациями. Я не знаю, где подходит JCL.
-
Как настроить ведение журнала для Spring. Что в файле web.xml, мне нужен файл log4j.properties или файл log4j.xml? Куда он идет, в WEB-INF? Что-нибудь происходит в моем файле applicationContext.xml? (извините, но мне нужно начинать с нуля здесь).
-
Я использую Hibernate в своем проекте и в том числе через Maven. Кажется, что Hibernate использует slf4j-simple. Я видел предупреждения, говорящие, что я не могу иметь slf4j-simple и slf4j-log4j как на пути к классам. Я не включил slf4j-log4j в качестве зависимости, но Hibernate должен его включать. Как решить эту проблему? Могу ли я заставить Hibernate использовать log4j вместо этого?
Любая помощь будет принята с благодарностью. Благодарю.
Редактирование:
Спасибо за все ответы. Я даю эти предложения попробовать. Как насчет веб-приложения Spring? Я видел примеры слушателей и параметров, а также ничего не помещал в файл web.xml. Это также требуется?