我有一个使用 log4j 的 Eclipse Java 项目。我无法将 log4j 配置文件设置为通过文件路径访问。我必须在 jar 中导出并运行该项目。
这是我尝试的方法:
public class Wita {
static Logger logger;
public static void main(String[] args) {
System.setProperty("log4j.configuration", new File("").getCanonicalPath()+File.separatorChar+"resources"+File.separatorChar+"log4j.xml" );
// System.out.println( System.getProperty("log4j.configuration") );
logger = Logger.getLogger(Wita.class.getName());
}
}
系统输出打印C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml很好。WITA是项目的基本文件夹。但是使用-Dlog4j.debug参数运行项目也会返回以下结果:
log4j:尝试使用上下文类加载器 sun.misc.Launcher$AppClassLoader@18e3e60 查找 [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml]。 log4j:尝试使用 sun.misc.Launcher$AppClassLoader@18e3e60 类加载器查找 [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml]。 log4j:尝试使用 ClassLoader.getSystemResource() 查找 [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml]。 log4j:找不到资源:[C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml]。
我想随着时间的推移更改 log4j.xml,而不构建另一个 jar 文件。我怎样才能做到这一点?