При развертывании моего приложения 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 в весеннем веб-приложении с 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?
Любая помощь будет принята с благодарностью. Спасибо.
редактировать:
Спасибо за все ответы. Я пробую эти предложения. А как насчет весеннего веб-приложения? Я видел примеры слушателей, параметров и еще много чего не помещали в файл web.xml. Это тоже требуется?