Log4j 未使用属性文件找到自定义附加程序

2024-06-21

我正在尝试使用以下 XML 属性文件在 Eclipse 插件项目中配置 log4j,其中包括一个名为 EclipseLoggingAppender 的自定义附加程序:

<?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>

我将此属性文件传递给代码中的以下语句:

DOMConfigurator.configure(filename);

但加载应用程序时,我收到以下错误消息:

log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassNotFoundException: com.lior.ibd.utils.logging.EclipseLoggingAppender

有人知道这是怎么回事吗?可能是类路径问题?...


是的,这是一个类路径问题。 Log4j 正在寻找类 com.lior.ibd.utils.logging.EclipseLoggingAppender。 (可能是你组织中某个人写的附加程序?)

如果删除行:

 <appender name="eclipseErrorView" class="com.lior.ibd.utils.logging.EclipseLoggingAppender"/>

and

 <logger name="com.lior">
   <level value ="warn" /> 
   <appender-ref ref="eclipseErrorView" />
 </logger> 

log4j 应该可以处理它。

或者通过找到适当的 jar 文件并将其添加到类路径来将 EclipseLoggingAppender 添加到类路径。 IE。跑步

java -cp appender.jar com.mypackage.MyClass
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Log4j 未使用属性文件找到自定义附加程序 的相关文章

随机推荐