我有一个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。
答案 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可以获取该文件。