我想问一个关于记录提供的罐子的问题。 我有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配置?
答案 0 :(得分:1)
据我所知,你不能改变与JBoss一起打包的Hibernate的日志配置。这个Hibernate类在应用程序之间共享,它的日志记录sybsystem早于部署应用程序的初始化。删除<provided>
范围时,Hibernate将成为应用程序部署的一部分,并在应用程序启动时进行初始化。在这种情况下,您可以重新配置日志记录。 Hibernate使用slf4j
记录器,look around如何配置它。