我们有一个从Windows命令提示符运行的JAR,其中包含log4J的以下参数:
-Dlog4.properties.file=C:/[folderName]/apps/[appName]/config/log4j.properties
即使 log4j.properties 文件确实在上面的路径中,log4j也无法找到它,因此无法正确配置,并且运行带参数-Dlog4j.debug
的命令并没有&# 39;给我更多信息:
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$Ap
pClassLoader@92e78c.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@92e78c
class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader sun.misc.Laun
cher$AppClassLoader@92e78c.
log4j: Trying to find [log4j.properties] using sun.misc.Launcher$AppClassLoader@
92e78c class loader.
log4j: Trying to find [log4j.properties] using ClassLoader.getSystemResource().
log4j: Could not find resource: [null].
log4j:WARN No appenders could be found for logger (com.xxx.yyy.appName.Main).
log4j:WARN Please initialize the log4j system properly.
我觉得自己缺少基本的,所以我对这些想法持开放态度......
答案 0 :(得分:0)
来自short introduction to log4j
尝试使用file:
作为路径上的前缀,但前提是您的属性不在类路径中。该属性也称为log4j.configuration
,因此您的JVM参数应具有以下形式:
-Dlog4.configuration=file:/c:/[...]/log4j.properties
答案 1 :(得分:0)
尝试此参数:
10
答案 2 :(得分:0)
看起来我的问题是由于Java版本不匹配造成的。有问题的应用程序目前只运行1.5,我相应地构建了JAR。但其中一个依赖项(即另一个JAR)是用1.6构建的。用1.5构建了另一个JAR,问题就消失了。