访问具有log4j支持的jar时未生成日志文件

时间:2010-05-23 20:56:14

标签: java log4j

我有一个x.jar,正在被某个客户端y.jar使用。 x.jar和y.jar以及log4j.xml都处于相同的包级别。

但是永远不会生成日志文件。我能知道为什么吗?

我也尝试过其他一些选择,但直到现在还没有运气。

1)我已将log4j-1.2.16.jar添加到x.jar和y.jar的清单文件中的ClassPath:变量。

2)将log4j.xml放在y.jar的类级别,实际上调用了x.jar类。

包结构如下:

x.jar

- manifest.mf有一个条目ClassPath:log4j-1.2.16.jar

y.jar  --manifest.mf有一个条目ClassPath:log4j-1.2.16.jar

的log4j-1.2.16.jar

的log4j.xml    - 有一个RollingFileAppender。

任何人都可以建议我是否遗漏了什么?

谢谢,

Naveen Garimella。

2 个答案:

答案 0 :(得分:1)

运行JAR时,需要使用java属性 -Dlog4j.configuration = pathToYourLog4jConfigFile 来声明log4j配置文件的路径:

java -jar -Dlog4j.configuration=file:log4j.xml my.package.MyClass

您也可以尝试使用此处说明的内容来避免它:

http://blog.blip.tv/blog/2005/07/24/log4jxml-inside-your-jar/

答案 1 :(得分:0)

您还可以在清单中添加单个.(以指示包含在类路径中的当前目录),以便log4j可以获取该文件。