记录 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>