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為主的相關配置一般是無效的。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Log4j如何屏蔽某個類的日志打印
- 解決springmvc整合Mybatis的Log4j日志輸出問題
- Spring概述和快速構建的方式
- 一文秒懂logstash收集springboot日志的方法
- mybatis參數類型不匹配錯誤argument type mismatch的處理方案