日期:2014-05-17  浏览次数:20884 次

怎样把hibernate产生的SQL语句,输出到log4j文件!!!
在网上找了好多,试了很多种,不知为什么,hibernate的SQL就是无法输出到log4j文件,所要的slf4j的几个包我都加了啊,怎么回事啊,知道的高手帮我看看吧!谢谢了!项目用的SSH三个框架。

以下是log4j.properties文件的配置:

log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  [%-5p]  %C.%M(%L) - %m%n
log4j.appender.A1.file=${catalina.home}/logs/log4j/activate.log
log4j.appender.A1.threshold=INFO
log4j.appender.A1.DatePattern='-'yyyy-MM-dd

log4j.logger.org.hibernate.type=TRACE 
log4j.logger.org.hibernate.sql=TRACE
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE



而且我也在Spring的配置文件中加上了,<prop key="hibernate.show_sql">true</prop>,但是这样它把SQL输出到控制台了,而log4j文件没有输出!

SQL Hibernate Log4j 框架 Spring

------解决方案--------------------
俺也挺想知道的,搜了点资料,LZ看看可符合要求:http://blog.csdn.net/quchj89/article/details/7564159
------解决方案--------------------
因为hibernate在输出sql时使用的logger名为org.hibernate.SQL,所以想让SQL语句输出到log4j,只要在log4j.properties或log4j.xml的配置中加上如下语句:
log4j.logger.org.hibernate.SQL=DEBUG


记得同时把hibernate中配置文件hibernate.show_sql设置为false,避免同时在控制台和log日志中双份输出sql语句。
------解决方案--------------------
log4j.logger.org.hibernate.SQL=debug 
log4j.logger.org.hibernate=info 
------解决方案--------------------
引用:
因为hibernate在输出sql时使用的logger名为org.hibernate.SQL,所以想让SQL语句输出到log4j,只要在log4j.properties或log4j.xml的配置中加上如下语句:
log4j.logger.org.hibernate.SQL=DEBUG


记得同时把hibernate中配置文件hibernate.show_sql设置为false,避免同时在控制台和log日志中双份输出sql语句。


正解!
------解决方案--------------------
引用:
Quote: 引用:

因为hibernate在输出sql时使用的logger名为org.hibernate.SQL,所以想让SQL语句输出到log4j,只要在log4j.properties或log4j.xml的配置中加上如下语句:
log4j.logger.org.hibernate.SQL=DEBUG


记得同时把hibernate中配置文件hibernate.show_sql设置为false,避免同时在控制台和log日志中双份输出sql语句。


我这还是不行啊。只有控制台输出了SQL,而log4j里并没有输出!

log4j.appender.org.hibernate = org.apache.log4j.DailyRollingFileAppender
log4j.appender.org.hibernate.File = ../log_bias.log
log4j.appender.org.hibernate.layout = org.apache.log4j.PatternLayout
log4j.appender.org.hibernate.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
------解决方案--------------------
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate下面的东西想要输出的设为debug
------解决方案--------------------
应该是这样配的,配置没问题,好好看看呗!