Sl4j 不记录来自 JPA 的 sql 语句
Sl4j doesn't log sql statements from JPA
我正在使用 JPA、Hibernate 和 Sl4j 开发应用程序。我无法让我的 sl4j 记录 sql 语句。
这是我的代码:
persistence.xml
<persistence-unit name="timeoffcore.persistence.unit">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="show_sql" value="true"/>
</properties>
</persistence-unit>
log4j.properties
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=timeoff.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{yyyy-MM-dd HH:mm:ss,SSS} %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{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=INFO, file, stdout
但是日志中没有 sql 语句。既不在控制台中,也不在文件中。
也许你应该在 log4j.properties
中添加几行
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
persistence.xml 还有两行
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
希望对你有帮助
属性 名称应为:
<property name="hibernate.show_sql" value="true" />
在persistence.xml
在 log4.properties
中添加以下条目
# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO
# Log all JDBC parameters
log4j.logger.org.hibernate.type=ALL
我正在使用 JPA、Hibernate 和 Sl4j 开发应用程序。我无法让我的 sl4j 记录 sql 语句。
这是我的代码:
persistence.xml
<persistence-unit name="timeoffcore.persistence.unit">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="show_sql" value="true"/>
</properties>
</persistence-unit>
log4j.properties
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=timeoff.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{yyyy-MM-dd HH:mm:ss,SSS} %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{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=INFO, file, stdout
但是日志中没有 sql 语句。既不在控制台中,也不在文件中。
也许你应该在 log4j.properties
中添加几行log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
persistence.xml 还有两行
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
希望对你有帮助
属性 名称应为:
<property name="hibernate.show_sql" value="true" />
在persistence.xml
在 log4.properties
# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO
# Log all JDBC parameters
log4j.logger.org.hibernate.type=ALL