解决log4j读取log4j.xml (系统找不到指定的路径。)的问题

log4j:ERROR Could not parse file [sr/com/dk/logtest/log4j.xml].
java.io.FileNotFoundException: F:\MyEclipseBHInformationSystemJavaDevelopWorkSpace\JDKLogTest\sr\com\dk\logtest\log4j.xml (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)

 

 

这个问题比较纠结,但是很明显是路径读取不对的问题而导致异常的出现。

我们看一看我们的源码怎么写的:

贴上来方法:

public static void logTest() {
// DOMConfigurator读取配置文件
DOMConfigurator.configure("/com/dk/logtest/log4j.xml");
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {

if(log.isInfoEnabled()){//如果info可用
log.info("开始计算(i="+i+") * (j="+j+")次运算.");//连接字符串输出

}
}

}
}

 

这个路径觉得错误 ,我们该怎么办,前面添加src 现在路径改为:

DOMConfigurator.configure("src/com/dk/logtest/log4j.xml");

 

OK!解决。就这么简单。

 

值得一提的是,网上很多解决方法实在是太烂了。竟然还让我写个servlet 然后在获取本地路径 。让我走了不少弯路的。唉。无言。

 

 

你可能感兴趣的:(java,apache,xml,log4j,sun)