Pro*_*ome 7 java eclipse log4j
我正在尝试使用以下XML属性文件在Eclipse插件项目中配置log4j,该文件包含一个名为EclipseLoggingAppender的自定义appender:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender name="eclipseErrorView" class="com.lior.ibd.utils.logging.EclipseLoggingAppender"/>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>
<logger name="com.lior">
<level value ="warn" />
<appender-ref ref="eclipseErrorView" />
</logger>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
我将此属性文件传递给代码中的以下语句:
DOMConfigurator.configure(filename);
Run Code Online (Sandbox Code Playgroud)
但是在加载应用程序时,我收到以下错误消息:
log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassNotFoundException: com.lior.ibd.utils.logging.EclipseLoggingAppender
Run Code Online (Sandbox Code Playgroud)
谁知道这笔交易是什么?可能是类路径问题?..
是的,这是一个类路径问题。Log4j 正在寻找类 com.lior.ibd.utils.logging.EclipseLoggingAppender。(可能是你组织中某个人写的附加程序?)
如果删除行:
<appender name="eclipseErrorView" class="com.lior.ibd.utils.logging.EclipseLoggingAppender"/>
Run Code Online (Sandbox Code Playgroud)
和
<logger name="com.lior">
<level value ="warn" />
<appender-ref ref="eclipseErrorView" />
</logger>
Run Code Online (Sandbox Code Playgroud)
log4j 应该可以处理它。
或者通过找到适当的 jar 文件并将其添加到类路径来将 EclipseLoggingAppender 添加到类路径。即跑
java -cp appender.jar com.mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15180 次 |
| 最近记录: |