记录 Hibernate 查询 - 在 log4j.properties 和 persistence.xml 中设置?
logging Hibernate queries - set in BOTH log4j.properties and persistence.xml?
虽然努力在 JBoss7 日志中查看 Hibernate 生成的 SQL 查询,但我正在寻找以下问题的明确答案:
问:这两个配置位置中的条目是否应该同时出现,还是其中一个会覆盖另一个?
1) 在 log4j.properties
log4j.logger.org.hibernate.SQL=ALL #or DEBUG
2) 在 persistence.xml
<persistence-unit...>
<properties>
<property name="hibernate.show_sql" value="true"/>
...
这对我来说是一个至关重要的问题,因为我只能编辑 1)。
日志记录的要求是这些(当然你必须指定一个文件附加程序):
1) log4j2.xml
//if you put this to trace, you'll log the variables putted into the queries
<logger name="org.hibernate.type" level='trace' additivity="false" >
<appender-ref ref='FileLog'></appender-ref>
</logger>
2) log4j2.xml
//with debug, you will log the query itself
<logger name='org.hibernate.SQL' level='debug' additivity='false'>
<appender-ref ref='FileLog'></appender-ref>
</logger>
3) 在 hibernate.cfg.xml
<property name="hibernate.show_sql">true</property>
编辑:这是附加程序的一个例子
<appenders>
<File name="FileLog" fileName="c:/path/your.log"></File>
</appenders>
虽然努力在 JBoss7 日志中查看 Hibernate 生成的 SQL 查询,但我正在寻找以下问题的明确答案:
问:这两个配置位置中的条目是否应该同时出现,还是其中一个会覆盖另一个?
1) 在 log4j.properties
log4j.logger.org.hibernate.SQL=ALL #or DEBUG
2) 在 persistence.xml
<persistence-unit...>
<properties>
<property name="hibernate.show_sql" value="true"/>
...
这对我来说是一个至关重要的问题,因为我只能编辑 1)。
日志记录的要求是这些(当然你必须指定一个文件附加程序):
1) log4j2.xml
//if you put this to trace, you'll log the variables putted into the queries
<logger name="org.hibernate.type" level='trace' additivity="false" >
<appender-ref ref='FileLog'></appender-ref>
</logger>
2) log4j2.xml
//with debug, you will log the query itself
<logger name='org.hibernate.SQL' level='debug' additivity='false'>
<appender-ref ref='FileLog'></appender-ref>
</logger>
3) 在 hibernate.cfg.xml
<property name="hibernate.show_sql">true</property>
编辑:这是附加程序的一个例子
<appenders>
<File name="FileLog" fileName="c:/path/your.log"></File>
</appenders>