在网上找了好多,试了很多种,不知为什么,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-ddlog4j.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文件没有输出!SQLHibernateLog4j框架Spring

解决方案 »

  1.   

    俺也挺想知道的,搜了点资料,LZ看看可符合要求:http://blog.csdn.net/quchj89/article/details/7564159
      

  2.   

    因为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语句。
      

  3.   

    log4j.logger.org.hibernate.SQL=debug 
    log4j.logger.org.hibernate=info 
      

  4.   


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

  5.   


    我这还是不行啊。只有控制台输出了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
      

  6.   

    log4j.logger.org.hibernate.SQL=DEBUG
    log4j.logger.org.hibernate下面的东西想要输出的设为debug