Log4j关闭Spring和Hibernate日志打印方式是什么

这篇文章主要介绍“Log4j关闭Spring和Hibernate日志打印方式是什么”,在日常操作中,相信很多人在Log4j关闭Spring和Hibernate日志打印方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Log4j关闭Spring和Hibernate日志打印方式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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为主的相关配置一般是无效的。

到此,关于“Log4j关闭Spring和Hibernate日志打印方式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!