如何配置Hibernate日志记录?

时间:2011-08-02 19:26:29

标签: hibernate tomcat logging

我正在开发的示例应用程序继续将所有Hibernate查询写入Tomcat控制台。我的意思是如果你在Windows上启动Tomcat,你将会打开一个小小的applet窗口。 Hibernate不断编写所有数据访问代码,如'Hibernate:select table10_.col1 as COL10_,table10_.col2 as COL20 _,...“我想知道是否有任何配置我可以为Hibernate设置将这些查询写入某种日志文件?可能是tomcat / logs下的localhost-log?

2 个答案:

答案 0 :(得分:3)

那不是日志,它是Hibernate的“show_sql”。查找名为“hibernate.show_sql”的属性设置为“true”。将其更改为false或完全删除它以摆脱它们。然后查看Hibernate参考中的the Configuration chapter,了解如何在Hibernate中设置SQL日志记录。

答案 1 :(得分:1)

@ Ryan-Stewart是对的,但它可以是Pass through Java JDBC驱动程序,可以为其他JDBC驱动程序记录SQL和/或JDBC calls

使用hibernate的日志记录,您的日志记录类似于:

 select bs0_.A_REF as A2_7_0_ from B bs0_ where  bs0_.other = 0 and bs0_.A_REF=?  
 TRACE 2011-08-  03 00:30:45,317 binding '123' to parameter: 1

请注意'?'而不是真实的参数值。

使用Pass through JDBC驱动程序,您的日志记录类似于:

select bs0_.A_REF as A2_7_0_ from B bs0_ where  bs0_.other = 0 and bs0_.A_REF=123  

解析所有绑定参数。

log4jdbc是其中一个通过JDBC驱动程序。