内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/2113350/baffled-by-java-logging-systems-with-spring-and-hibernate
在部署我的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 0 Problem with Commons Logging / Log4j setup in spring webapp with tomcat 6
不过,这甚至超出了我.有人可以澄清这里播放的日志记录系统,或者指出一个RECENT资源(有一些古老的谷歌搜索结果并不真正适用).具体来说,我正在摔跤的问题是:
> commons-logging,log4j,slf4j和JCL之间的区别.我的理解是,slf4j是一个包装器,而commons-logging和log4j是实际的实现.我不知道JCL在哪里.
>如何配置Spring的日志记录.在web.xml文件中,我需要一个log4j.properties文件还是一个log4j.xml文件?在哪里去,在WEB-INF?在我的applicationContext.xml文件中有什么东西吗? (对不起,我需要从零开始).
>我在我的项目中使用Hibernate,并通过Maven使用Hibernate.似乎Hibernate使用slf4j-simple.我看到警告说,我不能在类路径上都有slf4j-simple和slf4j-log4j.我没有包括slf4j-log4j作为依赖,但是Hibernate必须包含它.我如何解决这个问题?我可以强制Hibernate使用log4j吗?
任何帮助将不胜感激.谢谢.
编辑:
感谢所有的答案到目前为止.我正在提供这些建议.春天的网络应用程序呢?我看到了一些监听器和参数的例子,并且没有放在web.xml文件中.这也是需要的吗?
> commons-logging 和 SLF4J 都是围绕其他日志记录实现的API包装器. SLF4J是更现代的两个,而且更有能力. Log4j 是一个日志记录实现,几乎是defacto标准. JUL (java.util.logging的简称)是JRE附带的(通常很糟糕的)日志记录实现.另一个日志的实现是 logback ,它正在缓慢地获得牵引力,但并不普遍.
log4j.properties和log4j.xml是配置log4j的不同方式,两者同样有效.您使用哪一个取决于您,尽管一些应用程序服务器指定一个或另一个.阅读 log4j manual ,了解如何配置.
>如果Hibernate使用SLF4J作为其API,那就是Hibernate开发人员的选择.但是,您可以选择SLF4J将委托哪个日志记录实现.再次阅读 slf4j manual,了解如何选择您选择的实现.
是的,这很混乱.给予一个公开的选择,SLF4J和Logback是最有能力的组合,但你通常不会有开放的选择.不同的框架(如Hibernate和Spring)可能会使用不同的日志记录API,通常是commons-logging或SLF4J,但是您可以将所有这些API最终记录到相同的底层实现(通常为log4j).
代码日志版权声明:
翻译自:http://stackoverflow.com/questions/2113350/baffled-by-java-logging-systems-with-spring-and-hibernate
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 对 Axios 进行简单封装
- 利用ES6进行Promise封装总结
- 封装axios请求并对提交参数进行校验
- 基于spring boot框架进行二次封装,微型框架编写思路
- 封装JDBC—非框架开发必备的封装类
- SpringBlade 2.3.2 发布,增加 OSS 封装及单元测试封装
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。