gpt4 book ai didi

java - Log4j 正在工作,但 hibernate 日志未创建到 hibernate.log 文件中

转载 作者:行者123 更新时间:2023-12-01 13:25:09 25 4
gpt4 key购买 nike

我的 log4j 正在工作,但 hibernate 日志没有打包到我的 hibernate.log 文件中

我使用的是 jobss 7.1.1 Final 所以

1)我在 jobss 7.1.1 Final 中创建了模块所以我的 module.xml 如下

<?xml version="1.0" encoding="UTF-8"?>  
<module xmlns="urn:jboss:module:1.1" name="com.fourthdti.myproject">
<resources>
<resource-root path="log4j-1.2.16.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>

2)jboss-deployment-struct.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
<deployment name="eSociety-ear.ear">
<dependencies>
<module name="com.fourthdti.myproject" export="true" />
</dependencies>
<exclusions>
<module name="org.apache.commons.logging" />
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
<module name="org.jboss.logging.jul-to-slf4j-stub" />
<module name="org.jboss.logmanager" />
<module name="org.jboss.logmanager.log4j" />
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
<module name="org.antlr"/>
<module name="org.hibernate.*"/>
</exclusions>
</deployment>

<sub-deployment name="eSociety-web-0.0.1-SNAPSHOT.war">
<exclusions>
<module name="org.apache.commons.logging" />
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
<module name="org.jboss.logging.jul-to-slf4j-stub" />
<module name="org.jboss.logmanager" />
<module name="org.jboss.logmanager.log4j" />
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
<module name="org.antlr"/>
<module name="org.hibernate.*"/>
</exclusions>
</sub-deployment>

<sub-deployment name="eSociety-ejb-0.0.1-SNAPSHOT.jar">
<exclusions>
<module name="org.apache.commons.logging" />
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
<module name="org.jboss.logging.jul-to-slf4j-stub" />
<module name="org.jboss.logmanager" />
<module name="org.jboss.logmanager.log4j" />
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
<module name="org.antlr"/>
<module name="org.hibernate.*"/>
</exclusions>
</sub-deployment>
</jboss-deployment-structure>

3)我的log4j.xml(/WEB_INF/log4j.xml)如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />
</layout>
</appender>

<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</appender>

<appender name="allAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="c:/logs/eSociety_All.log"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%d{z}] - %-5p [%t]: [%C] %m%n"/>
</layout>
</appender>

<appender name="hibernateAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="c:/logs/eSociety_Hibernate.log"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="2"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%d{z}] - %-5p [%t]: [%C] %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="bind" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="select" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>

<appender name="springAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="c:/logs/eSociety_Spring.log"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%d{z}] - %-5p [%t]: [%C] %m%n"/>
</layout>
</appender>

<category name="org.hibernate.type">
<priority value="TRACE"/>
</category>

<!-- Log the actual Hibernate Query Language (HQL) expression -->
<category name="org.hibernate.impl.SessionImpl">
<priority value="DEBUG">
</priority>
</category>

<!-- Log the substitution parameters in the HQL expression -->
<category name="org.hibernate.engine.QueryParameters">
<priority value="DEBUG">
</priority>
</category>

<logger name="org.hibernate.type">
<level value="TRACE"/>
<appender-ref ref="hibernateAppender"/>
</logger>

<logger name="org.hibernate.SQL">
<level value="TRACE"/>
<appender-ref ref="hibernateAppender"/>
</logger>

<logger name="org.springframework" additivity="false">
<level value="debug"/>
<appender-ref ref="springAppender" />
</logger>

<root>
<priority value ="debug" />
<appender-ref ref="allAppender" />
</root>
</log4j:configuration>

4)我在 web.xml 中添加了日志监听器

<!-- Logging listener -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>

5)我已将以下 jar 文件放入类路径中。

i) log4j-1.2.16.jar
ii) slf4j-api-1.6.4.jar
iii) slf4j-log4j12-1.5.10.jar

请建议我需要对 hibernate 日志记录进行哪些额外配置。

正在创建所有日志文件,正在创建除 hibernate.log 文件中的 hibernate 日志之外的所有日志。

最佳答案

您是否有其他 hibernate 配置,例如 hibernate.cfg.xml 文件?如果属性 show sql 设置为 true,hibernate 日志可以重定向到控制台。

如果不是,这里是我使用的 log4j 配置的简单示例:

#Global variables
log.dir=/Users/XXX/Log
datestamp=yyyy-MM-dd/HH:mm:ss.SSS/zzz
date.pattern='.'yyyy-MM-dd

#Root level settings
log4j.rootLogger=INFO, file, stdout
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=ALL

#File logger appender (roll over at midnight each day)
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=${date.pattern}
log4j.appender.file.File=${log.dir}/webapp.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %c{1}:%L - %m%n

#Console logger appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %c{1}:%L - %m%n

关于java - Log4j 正在工作,但 hibernate 日志未创建到 hibernate.log 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com