应该避免使用Hibernate查询日志记录吗?

时间:2012-09-04 13:12:11

标签: hibernate logging jboss5.x jboss-tools

我正在为我的项目使用JPA ......

我的问题是:Whenever we are executing some query using the JPA the query is logged in the server.log file of the **JBOSS** .我正在使用Jboss log4J。

但我想避免在server.log文件中打印查询。 不改变以下属性:

<property name="hibernate.show_sql" value="true"/>

相反,我试过:

<category name="org.hibernate">
        <priority value="ERROR" />
    </category>
log4j.xml

,尽管查询正在登录控制台或server.log以进行成功查询。

任何人都可以帮我解决这个问题吗?

我必须更改配置以避免在server.log中记录查询?

1 个答案:

答案 0 :(得分:1)

你可能很难做到这一点。

<property name="hibernate.show_sql" value="true"/>

实际上是一个开发设置,它将生成的SQL写入stdout而不是写入记录器。

看一下org.hibernate.jdbc.util.SQLStatementLogger确认。

将SQL记录到已配置的日志记录机制是完全不同的事情,并写入org.hibernate.SQL

因此,为了避免在任何地方编写SQL,您需要设置:

<property name="hibernate.show_sql" value="false"/>

并使用以下日志设置:

<category name="org.hibernate">
  <priority value="INFO" />
</category>