我以 Jboss 7.1 中的 log4j 快速入门为起点设置了我的 Java EE 6 应用程序。
我的关键 pom.xml 添加是:
<dependencyManagement>
<dependencies>
<!-- Define Log4j dependency and its version -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
...
</dependencies>
</dependencyManagement>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>provided</scope>
</dependency>
版本是 1.2.16。
现在我可以这样做:
private static final Logger logger = Logger.getLogger(MacchinarioController.class);
并按预期使用记录器。好的!
我没有 log4j.xml 也没有 .properties 文件。
现在我希望 Hibernate 在控制台中打印所有正在执行的 SQL 语句,包括参数值。
我创建了这个 log4j.xml 并将其放在 src/main/resources 源文件夹中:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="info"/>
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %c{1} - %m%n"/>
</layout>
</appender>
<appender name="rolling-file" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="Program-Name.log"/>
<param name="MaxFileSize" value="1000KB"/>
<param name="MaxBackupIndex" value="4"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %l - %m%n"/>
</layout>
</appender>
<logger name="org.hibernate">
<level value="ALL" />
</logger>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
<appender-ref ref="rolling-file" />
</root>
</log4j:configuration>
但是什么都没有出现,我在哪里做错了?