我嘗試使用下面的XML屬性文件來配置一個Eclipse插件項目log4j的,包括所謂的EclipseLoggingAppender自定義的appender:的Log4j沒有找到自定義添加器使用屬性文件
<?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
任何人都知道什麼是交易?可能是一個類路徑問題?
我不想刪除這些行,因爲我希望這個appender在應用程序框架中運行......你是什麼意思的「將EclipseLoggingAppender添加到類路徑「? – Protostome 2010-10-20 14:40:42
@Protostome - 這取決於你的環境。你是從命令行還是在應用程序服務器中運行代碼? – krtek 2010-10-20 15:09:15
這是一個Eclipse RCP應用程序 – Protostome 2010-10-20 15:10:35