如何让 hibernate 4 通过 logback 登录?我将一场战争部署到了wildfly 8 final,并且我正在使用带有logback的slf4j。日志记录设置在应用程序中 100% 工作,控制台附加程序和文件附加程序都按预期工作。
这是我为使 slf4j + logback 工作所做的工作:
在 WEB-INF 中使用 jboss-deployment-structure.xml 排除了日志子系统:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
在 pom 中包含 slf4j 和 logback 依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
</dependency>
使用 org.slf4j.Logger 登录应用程序
在 logback.xml 中添加了 3 个记录器:
<logger name="my.package" level="TRACE"/>
<logger name="org.hibernate.type" level="ALL" />
<logger name="org.hibernate" level="TRACE" />
我在日志中看不到任何与休眠相关的内容。
我唯一一次从休眠中看到任何东西是当我添加到我的 persistence.xml 时:
<properties>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
但即使我的根记录器设置为 trace ,它也会记录到服务器日志和控制台而不是我的 logback 附加程序。. .
logback ViewStatusMessagesServlet 看起来很健康,并显示已注册的休眠记录器:2014-02-23 19:02:37 INFO LoggerAction 将记录器 [org.hibernate.type] 的级别设置为 ALL
2014-02-23 19:02:37 INFO LoggerAction 将记录器 [org.hibernate] 的级别设置为 TRACE
我还可以使用在 persistence.xml 中注册的 hibernate.ejb.interceptor 记录准备好的语句。不幸的是,这也没有提供任何获取查询参数的方法
谁能帮我吗?