我有一个使用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());
}
}
Run Code Online (Sandbox Code Playgroud)
系统输出打印C:\ Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml这很好.WITA是项目的基本文件夹.但是使用-Dlog4j.debug参数运行项目时,以下内容也会返回:
log4j: Trying to find [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@18e3e60. log4j: Trying to find [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] using sun.misc.Launcher$AppClassLoader@18e3e60 class loader. log4j: Trying to find [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] using ClassLoader.getSystemResource(). log4j: Could not find resource: [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml].
我想随着时间的推移更改log4j.xml,而不构建另一个jar文件.我怎样才能做到这一点?