【问题标题】:NTEventLogAppender (Library is already loaded in another ClassLoader)NTEventLogAppender(库已经加载到另一个 ClassLoader 中)
【发布时间】:2011-07-05 11:12:38
【问题描述】:

我的 src 包中有一个这样的 log4j.properties 文件:

log4j.rootLogger=DEBUG, CA, EVA 

#Console Appender 
log4j.appender.CA=org.apache.log4j.ConsoleAppender 
log4j.appender.CA.layout=org.apache.log4j.PatternLayout 
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

#Event Viewer Appender
log4j.appender.EVA=org.apache.log4j.nt.NTEventLogAppender
log4j.appender.EVA.layout=org.apache.log4j.PatternLayout
log4j.appender.EVA.source=MySource
log4j.appender.EVA.layout.ConversionPattern=[%c][%l][%p][%thread]: %m%n

我在这样的接口 (LogInterface.java) 上创建记录器:

package components;

import org.apache.log4j.Logger;

public interface LogInterface {

    static final Logger logger = Logger.getLogger("MyLogger");

}

我将 NTEventLogAppender.dll 放在:

C:\Program Files (x86)\IBM\WID7_WTE\runtimes\bi_v7\java\jre\bin

当有异常记录时,有时我会收到以下错误:

NTEventLogAppender(库已经在另一个 ClassLoader 中加载)

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: java logging log4j event-viewer


    【解决方案1】:

    这个问题的解决方法是将log4j JAR文件放在:

    Application_Server_Install_Path\lib

    在项目中,我将 log4j JAR 文件作为变量添加到项目的构建路径中(添加变量选项)

    这解决了 IDE 上的 JAR 引用问题,剩下要做的就是在 Websphere Application Server 的运行时添加之前的 log4j JAR 文件引用。

    为此,我访问了 WAS 管理控制台并将之前的 log4j JAR 文件路径添加到:

    环境 -> 共享库

    尽管似乎没有人遇到同样的问题,但这是未来类似问题的解决方案

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多