Hibernate 不记录到 Log4J

Jac*_*kie 1 hibernate log4j

我有一个使用休眠的 tomcat 应用程序。当我进入 WEB-INF 并将 log4j.properties 更改为以下内容时...

log4j.logger.net.sf.hibernate.SQL=trace
Run Code Online (Sandbox Code Playgroud)

但是我在使用的日志文件中没有看到任何内容。

log4j.rootLogger=debug, stdout
....
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=hibernate.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
Run Code Online (Sandbox Code Playgroud)

日志记录似乎适用于我自己的应用程序。

有任何想法吗?

esa*_*saj 6

对此不确定,但我认为较新的 Hibernate 版本可能会使用 slf4j 而不是 log4j。您可以通过使用 slf4j-log4j -bridge 来解决这个问题。如果您使用的是 Maven,则依赖项是

    <!-- slf4j -> log4j bridge (some libraries use slf4j) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.6</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

根据需要修改版本。