Log4j关闭Spring和Hibernate日志打印方式
短信预约 -IT技能 免费直播动态提醒
Log4j关闭Spring和Hibernate日志打印
这里所说的关闭不是全部不打印,只需要修改一下log级别就好了。
普通的info信息其实我们是不看的,所以直接设置成warn或error级别就好了。
#close java-jdbc log out
log4j.logger.java.sql.Connection=ERROR
log4j.logger.java.sql.Statement=ERROR
log4j.logger.java.sql.PreparedStatement=ERROR
#close spring log out
log4j.logger.org.springframework=WARN
#close hibernate log out
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.net.sf.acegisecurity=WARN
log4j.logger.net.sf.acegisecurity.intercept.event.LoggerListener=WARN
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
log4j.logger.org.displaytag=ERROR
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=WARN
log4j.logger.com.canoo.webtest=WARN
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.SQL=ERROR
log4j.logger.org.hibernate.type=ERROR
Log4j关闭Hibernate日志输出
项目原因,使用Hibernate的时候总会输出大量的相关日志,想要屏蔽掉。
各种搜索之后,发现网上所谓的各种方法:
例如在hibernate配置文件中设置
<!-- 是否显示sql -->
<property name="show_sql">false</property>
<!-- 是否格式化sql -->
<property name="format_sql">false</property>
<!-- 是否使用注释 -->
<property name="use_sql_comments">false</property>
或者在log4j配置文件中设置
#log4j for Hibernate
log4j.logger.org.hibernate=WARN
都 没有效果。
我这里最后解决的方法是:在log4j配置文件中额外设置
#log4j for springMVC
log4j.logger.org.springframework=WARN
即可生效。
原因在于,我使用的项目是使用spring对hibernate进行注解配置的。
一些相关日志的输出以spring的配置为主。
所以网上所谓以hibernate为主的相关配置一般是无效的。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341