如何在日志文件中获取hibernate日志

时间:2011-07-14 10:06:51

标签: java hibernate logging log4j

我正在使用hibernate作为ORM工具。它运行正常,但问题是,我在控制台上获取了hibernate日志,而不是我想要的日志文件。我尝试使用以下代码。

LogManager.resetConfiguration();
PropertyConfigurator.configureAndWatch("D:\\Workspace\\Project\\log4j.properties");

,属性文件如下:

log4j.rootLogger=FATAL, HIBERNATEFILE

log4j.appender.HIBERNATEFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.HIBERNATEFILE.file=H:/Project/Hibernate.log
log4j.appender.HIBERNATEFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.HIBERNATEFILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %c | %m%n

log4j.category.org.hibernate=DEBUG, HIBERNATEFILE
log4j.additivity.org.hibernate=false

我在编写hibernate创建配置之前编写的Java代码。我得到了所有语句,我已经在项目中正确记录了这些语句,但我需要日志文件中的hibernate日志。

我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

看看heredocumentation,您需要告诉log4j要查看的包/类别。

...示例

log4j.logger.org.hibernate=HIBERNATEFILE
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.hibernate.type=TRACE,HIBERNATEFILE

答案 1 :(得分:0)

我相信Hibernate输出到控制台是由你将hibernate.show_sql设置为true引起的。您应该将其关闭并配置Hibernate以将SQL记录到log4j / sl4j日志。