记录由项目内记录器提供罐子

时间:2012-01-09 14:47:29

标签: hibernate maven jboss logback

我想问一个关于记录提供的罐子的问题。 我有maven应用程序有很多依赖项,我需要使用logback记录它。我在jboss 5.1上工作。

几乎所有东西都完美无缺。我可以使用logback.xml文件和足够的appender等来记录我的数据包中的所有操作。:) 有一个问题 - 我无法通过使用logback来记录org.hibernate操作。它似乎通过在jboss中使用log4j来记录自己(jboss-log4j.xml配置它)。 在我的pom.xml中,我提供了范围内的org.hibernate - 它自然是由jboss提供的。

<dependency>
<groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.3.1.GA</version>
        <scope>provided</scope>
</dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.4.0.GA</version>
        <scope>provided</scope>
</dependency>
来自logback.xml的

片段

<logger name="org.hibernate" level="TRACE" additivity="false">
    <appender-ref ref="SQL_FILE" />
</logger>

当我删除

<scope>provided</scope> 

从pom.xml开始使用项目配置中的logback.xml进行日志记录。我会这样做,但我必须使用提供的罐子而不是我自己的罐子。

是否有可能使用项目内配置记录提供的罐子?或者我注定了,我必须在jboss目录中使用log4j配置?

1 个答案:

答案 0 :(得分:1)

据我所知,你不能改变与JBoss一起打包的Hibernate的日志配置。这个Hibernate类在应用程序之间共享,它的日志记录sybsystem早于部署应用程序的初始化。删除<provided>范围时,Hibernate将成为应用程序部署的一部分,并在应用程序启动时进行初始化。在这种情况下,您可以重新配置日志记录。 Hibernate使用slf4j记录器,look around如何配置它。