java - 如何将 Hibernate 从 jboss-logging 切换到 logback?

标签 java hibernate logback jboss-logging

我发现,我的 hibernate 依赖导致了对 jboss-logging 的依赖。

是否可以切换到我已经在使用的 logback 日志记录?

更新

我试过三个地方设置org.jboss.logging.provider:

1) 在 Spring 中 Lassing 到 JPA 属性:

.setJpaProperties(additionalProperties());

2) 在 main() 中设置属性:

System.setProperty("org.jboss.logging.provider", "slf4j");

3) 在命令行中设置属性:

-Dorg.jboss.logging.provider="slf4j"

均无效。

我遇到异常:

Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 32 more

请注意,我已经从依赖项中排除了 jboss 日志记录:

 <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.7.Final</version>
        <exclusions>
            <exclusion>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

最佳答案

我在 standalone.conf.bat 文件中设置属性:

SET "JAVA_OPTS=%JAVA_OPTS% -Dorg.jboss.logging.provider=slf4j"

Logger.class 可以在 JBOSS_HOME\modules\org\jboss\logging\main 文件夹中的 jboss-logging jar 中找到。该模块默认存在。

我最近遇到了类似的问题。我认为如果您解决 Logger.class 问题,您将面临这个问题。

我遇到了这个异常:

ClassNotFoundException: org.slf4j.LoggerFactory from [Module "org.jboss.logging:main"

我在 JBOSS_HOME\modules\org\jboss\logging\main\module.xml 中添加了对 slf4j 的依赖

<module xmlns="urn:jboss:module:1.1" name="org.jboss.logging">
  <resources>
      <resource-root path="jboss-logging-3.1.0.GA.jar"/>
  </resources>

  <dependencies>
     <module name="org.jboss.logmanager"/>
     <module name="org.slf4j" slot="1.7.5" />
  </dependencies>
</module>

关于java - 如何将 Hibernate 从 jboss-logging 切换到 logback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27092709/

相关文章:

java - JPA 2.0 Provider Hibernate 3.6 for DB2 v9.5 type 2 驱动程序在配置准备中抛出异常

spring - Spring Boot child() 上下文的 Logback 分离

java - 基于寄存器的VM与基于堆栈的VM之间的主要区别是什么?

java - 如何用Java从数据库中检索每一行和每一列的数据

java - 无法弄清楚为什么我不断收到 com.mongodb.MongoSocketReadException : Prematurely reached end of stream

java - 为什么 ORDER BY DATEDIFF 在使用 JPA 的 SQL 服务器上引发异常?

java - 为什么 Hibernate/JPA 在查询中报告空指针异常?

logging - Stackdriver Logging、Logback 和 Logger 名称

java - SLF4J和Logback : Propagate logger to autowired services

Java mouseDown 事件对象