2
我浪費了很多時間來解決此問題。但不能。可能很簡單。log4j:錯誤無法解析文件
應用程序的jar文件不能加載log4j.xml文件,它是log4j的配置文件。
這裏是我使用
import org.apache.log4j.xml.DOMConfigurator;
public class LoggerConfig {
public void configLogger()
{
DOMConfigurator.configure("log4j.xml");
}
}
它的一個Maven項目的代碼。和我的DIR strucure是:
src
main
java
| com
| | my
| | | abc
| | | | test
| | | | | LoggerConfig.java
resource
| com
| | my
| | | abc
| | | | test
| | | | | log4j.xml
我的類路徑文件看起來像:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
我的log4j.xml看起來像
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="File" value="target/test.log" />
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] [%d{HH:mm:ss.SSS}] %m%n" />
</layout>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="DEBUG" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="[%p] [%d{HH:mm:ss.SSS}] %m%n" />
</layout>
</appender>
<root>
<priority value="INFO" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</log4j:configuration>
感謝您的幫助..
你是什麼'log4j.xml'看起來像什麼? – 2013-06-04 06:58:11
@Tichodroma:用'log4j.xml'編輯問題的詳細信息 –
將log4j.xml文件放在'resources'的'com/my/abc/test'下的任何特定原因當你加載它時,你使用'test/log4j.xml',而它應該是'com/my/abc/test/log4j.xml'? –