我的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中)
我该如何解决这个问题?
由于
答案 0 :(得分:1)
此问题的解决方案是将log4j JAR文件放在:
下Application_Server_Install_Path \ lib中
在项目中,我将log4j JAR文件作为变量添加到项目的构建路径中(添加变量选项)
这解决了IDE上的JAR引用,唯一要做的就是在Websphere Application Server的运行时添加以前的log4j JAR文件引用。
为此,我访问了WAS管理控制台并添加了以前的log4j JAR文件路径:
环境 - >共享库
尽管似乎没有人遇到同样的问题,但这是未来类似问题的解决方案
由于