我正在使用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日志。
我错过了什么吗?
答案 0 :(得分:2)
看看here或documentation,您需要告诉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日志。