【问题标题】:log4j-jul-2.1 and Glassfish 3.1.2 usagelog4j-jul-2.1 和 Glassfish 3.1.2 使用
【发布时间】:2015-01-14 09:20:58
【问题描述】:

我正在尝试使用birdge 提供的log4j-jul-2.1 将Java Util Logging 日志重定向到Log4j 2.1,但遇到了类路径问题。我在域 lib 目录中拥有所有 log4j jar,并使用了 log4j 文档中提到的以下 JVM 参数:

-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager

问题是log4j提供的bridge LogManager在启动时在Glassfish AppClassLoader中不可用,导致下面的异常。我可以通过修改服务器主类路径(由 -cp 参数提供)来解决这个问题,但这很糟糕。有没有其他/更好看的方法来实现这一目标?简单地把它放到服务器主 lib 目录中也不行,因为它又不是 AppClassLoader。

Could not load Logmanager "org.apache.logging.log4j.jul.LogManager"
    java.lang.ClassNotFoundException: org.apache.logging.log4j.jul.LogManager
            at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
            at java.util.logging.LogManager$1.run(LogManager.java:167)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.util.logging.LogManager.<clinit>(LogManager.java:157)
            at java.util.logging.Logger.getLogger(Logger.java:287)
            at com.sun.enterprise.glassfish.bootstrap.ASMainHelper.<clinit>(ASMainHelper.java:67)
            at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:54)

【问题讨论】:

    标签: glassfish log4j


    【解决方案1】:

    我最终决定使用 SLF4J 及其 SLF4JBridgeHandler 来处理 Java Util Logging 调用。它的主要好处是它可以在稍后加载所有类并在所有必需的静态初始化之后进行初始化。

        SLF4JBridgeHandler.removeHandlersForRootLogger();
        SLF4JBridgeHandler.install();
    

    我也切换到 Logback 作为后端,因为使用此解决方案 Log4j 遇到禁用 JUL 记录器的性能问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 2012-06-23
      • 2012-08-17
      相关资源
      最近更新 更多