被带有Spring和Hibernate的Java日志记录系统所困扰
在部署我的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帖子 共享资源日志记录/ Log4j设置的问题 春季Webapp与tomcat 6
但是,这甚至超出了我的范围。有人可以澄清这里正在发挥作用的日志记录系统,或者向我指出有关此事的最近资源(有一些古老的Google搜索结果并不真正适用)。具体来说,我正在纠结的问题是:
commons-logging,log4j,slf4j和JCL之间的区别。我的理解是slf4j是一个包装器,而commons-logging和log4j是实际的实现。我不知道JCL适合在哪里。
如何为Spring配置日志记录。在web.xml文件中,我需要log4j.properties文件还是log4j.xml文件?在WEB-INF中,它去了哪里?我的应用程序文本.xml文件中是否有任何内容?(对不起,但我需要从这里从零开始)。
我在我的项目中使用Hibernate,包括通过Maven。似乎Hibernate使用slf4j-simple。我看到警告说我不能在类路径上同时拥有slf4j-simple和slf4j-log4j。我没有将slf4j-log4j作为依赖项,但Hibernate必须包含它。我该如何解决这个问题?我可以强制休眠改用log4j吗?
任何帮助将不胜感激。谢谢。
编辑:
感谢到目前为止的所有答案。我正在尝试这些建议。特别是春季网络应用程序呢?我看过侦听器和参数的示例,以及什么不放入web.xml文件中。这也是必需的吗?