【发布时间】:2011-01-07 23:21:33
【问题描述】:
在部署我的 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 帖子 Problem with Commons Logging / Log4j setup in spring webapp with tomcat 6
但是,这甚至超出了我的范围。有人可以在这里澄清正在使用的日志系统,或者指向我关于此事的最近资源(有一些古老的谷歌搜索结果并不真正适用)。具体来说,我正在努力解决的问题是:
commons-logging、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-app 具体怎么样?我已经看到了侦听器和参数的示例以及放入 web.xml 文件中的内容。这也需要吗?
【问题讨论】:
标签: java hibernate spring logging log4j