我有一个 x.jar,某些客户端 y.jar 正在使用它。 x.jar 和 y.jar 以及 log4j.xml 都处于同一包级别。
但是日志文件永远不会生成。我能知道为什么吗?
我也尝试过其他一些选择,但到目前为止还没有运气。
1) 我已将 log4j-1.2.16.jar 添加到 ClassPath: x.jar 和 y.jar list 文件中的变量。
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。
有人可以建议我是否遗漏了什么吗?
谢谢
纳文·加里梅拉。
最佳答案
运行 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/
关于java - 访问具有 log4j 支持的 jar 时未生成日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2893412/