Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在日志文件中获取hibernate日志_Java_Hibernate_Logging_Log4j - Fatal编程技术网

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

Java 如何在日志文件中获取hibernate日志,java,hibernate,logging,log4j,Java,Hibernate,Logging,Log4j,我使用hibernate作为ORM工具。它工作正常,但问题是,我在控制台上获取hibernate日志,而不是我想要的日志文件。我尝试了以下代码 LogManager.resetConfiguration(); PropertyConfigurator.configureAndWatch("D:\\Workspace\\Project\\log4j.properties"); 属性文件如下所示: log4j.rootLogger=FATAL, HIBERNATEFILE log4j.appen

我使用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
Java代码,我在调用hibernate创建配置之前编写的。我得到了所有的语句,这些语句我已经正确地记录在我的项目中,但是hibernate日志,我需要记录在一个日志文件中

我遗漏了什么吗?

看一看,或者看一看,你需要告诉log4j要看什么包/类别

例如

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

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

我尝试了您建议的方法。但它不起作用。仍然在控制台上获取日志。您能更新您的答案以包含日志类别和该类别的附加程序吗?我更新了我的示例,使其更直接一些。当您启动应用程序时,是否出现任何错误,如。。。请开始。log4j正确吗?此外,这是如何运行的-它是一个web应用程序,swing应用程序等,一些应用程序服务器可能很难开始工作。