记录Hibernate查询-在log4j.properties和persistence.xml中都设置?

时间:2018-07-16 08:46:49

标签: java hibernate jpa logging persistence

尽管努力在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 个答案:

答案 0 :(得分:1)

记录日志的要求如下(ofc,您必须指定文件附加程序):

log4j2.xml

上的

1)

//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>