3

嗨,我正在 Eclipse 中编写一个 gwt 项目。

即使在 Eclipse 控制台中,我也无法在 hibernate 中配置 log4j 以显示 SQL 参数。遵循指南后:

http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-log4j/

我根本看不出有什么不同,SQL 参数仍然是问号,甚至没有创建日志文件。如何正确配置日志?

我的休眠版本是 3.7.0。我已将这些 jar 添加到我的构建路径中:-slf4j-api-1.7.5.jar -slf4j-log4j12-1.7.5.jar -slf4j-simple-1.7.5.jar

我在项目的类路径中创建了log4j.properties

    # Direct log messages to a log file
      log4j.appender.file=org.apache.log4j.RollingFileAppender
      log4j.appender.file.File=server_log.log
      log4j.appender.file.MaxFileSize=1MB
      log4j.appender.file.MaxBackupIndex=1
      log4j.appender.file.layout=org.apache.log4j.PatternLayout
      log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

     # Direct log messages to stdout
     log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.Target=System.out
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

       # Root logger option
       log4j.rootLogger=INFO, file, stdout

       # Log everything. Good for troubleshooting
       log4j.logger.org.hibernate=INFO

       # Log all JDBC parameters
       log4j.logger.org.hibernate.type=trace

感谢您的帮助。

4

1 回答 1

1

根据您的 log4j.properties 文件,我可以看到您缺少一个关键属性

log4j.logger.org.hibernate.SQL=debug

您的 log4j.properties 文件应如下所示

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss, SSS} %-5p [%c] - %m%n

log4j.rootLogger = info, stdout
log4j.logger.org.hibernate = info

#following parameters will be used to log the sql parameters
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type.descriptor.sql=trace

请查看这篇文章,它将帮助您正确设置 log4j.properties 文件:http: //techpost360.blogspot.in/2016/10/hibernate-show-sql-with-parameter-values.html

于 2016-10-10T11:22:11.340 回答