【问题标题】:log file not generated while accessing a jar having log4j support访问具有 log4j 支持的 jar 时未生成日志文件
【发布时间】:2010-05-23 20:56:14
【问题描述】:

我有一个 x.jar 正在被某些客户端 y.jar 使用。 x.jar 和 y.jar 和 log4j.xml 都在同一包级别。

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

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

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

2) 将 log4j.xml 放在实际调用 x.jar 类的 y.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。

谁能建议我是否遗漏了什么?

谢谢,

纳文·加里梅拉。

【问题讨论】:

    标签: java log4j


    【解决方案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/

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-31
        • 1970-01-01
        • 2015-04-27
        • 1970-01-01
        相关资源
        最近更新 更多