Hibernate未登录到Log4J

Hibernate未登录到Log4J,hibernate,log4j,Hibernate,Log4j,我有一个使用hibernate的tomcat应用程序。当我进入WEB-INF并将log4j.properties更改为以下内容时 log4j.logger.net.sf.hibernate.SQL=trace 但是我在使用的日志文件中没有看到任何内容 log4j.rootLogger=debug, stdout .... log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=hibernate.lo

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

log4j.logger.net.sf.hibernate.SQL=trace
但是我在使用的日志文件中没有看到任何内容

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
对于我自己的应用程序来说,日志记录似乎工作得很好


有什么想法吗?

对此不确定,但我认为较新的Hibernate版本可能会使用slf4j而不是log4j。您可以通过使用slf4j-log4j-桥接器克服此问题。如果您使用的是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>

org.slf4j
slf4j-log4j12
1.5.6
罐子
编写

根据需要修改版本。

对此不确定,但我认为较新的Hibernate版本可能会使用slf4j而不是log4j。您可以通过使用slf4j-log4j-桥接器克服此问题。如果您使用的是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>

org.slf4j
slf4j-log4j12
1.5.6
罐子
编写

根据需要修改版本。

尝试以下操作,因为hibernate不再位于
net.sf
包层次结构下:

log4j.logger.org.hibernate.SQL=trace

尝试以下操作,因为hibernate不再位于
net.sf
包层次结构下:

log4j.logger.org.hibernate.SQL=trace

我正在使用。。。我对sli4j不太熟悉,但网站上说“不需要setter方法,不需要特殊注释,只需声明它,让sli4j完成其余的工作,最终的和已经设置好的记录器将被跳过,sli4j根本不会试图覆盖它们。”。问题可能是Hibernate Logger被声明为“private static final”,在这种情况下sli4j不会注入它自己的Logger吗?我尝试添加了这个,我认为它工作了x2检查我正在使用。。。我对sli4j不太熟悉,但网站上说“不需要setter方法,不需要特殊注释,只需声明它,让sli4j完成其余的工作,最终的和已经设置好的记录器将被跳过,sli4j根本不会试图覆盖它们。”。问题可能是Hibernate记录器被声明为“private static final”,在这种情况下,sli4j不会注入它自己的记录器?我尝试添加它,但我认为它在检查您的hibernate配置xml文件时起作用。是否有“hibernate.show_sql”属性设置为false?检查您的hibernate配置xml文件。是否有“hibernate.show_sql”属性设置为false?谢谢,但我使用的是旧版本。我想当hibernate在
net.sf
下时,它还没有使用slf4j。只是想知道您是否真的发现了问题。谢谢,但我使用的是旧版本。我认为当hibernate处于
net.sf
下时,它还没有使用slf4j。只是想知道你是否真的发现了问题。