【问题标题】:spring boot log4j file external to jar?jar外部的spring boot log4j文件?
【发布时间】:2015-11-28 04:31:33
【问题描述】:

如何通过?我可以让它工作的唯一方法是将 log4j.xml 放在类路径上。

通过:命令行上的 -Dlog4j.configuration=file:///c:\log4j2.xml 不起作用(尽管它在非 spring-boot 测试应用程序中正常工作)。

我还尝试在 spring 中将其作为环境变量/属性。

【问题讨论】:

    标签: java spring logging spring-boot


    【解决方案1】:

    尝试将此行放入您的application.properties

    logging.config=file:log4j.xml
    

    第二个选项是将系统变量传递给-Dlogging.config=file:log4j.xml

    在这种情况下,它应该位于 JAR 文件之外的当前目录中。

    【讨论】:

    • 有没有办法把这个放在罐子外面? c:\HOME\workspace\LibConfigSearchService\build\libs>java -jar myproject-0.0.1-SN APSHOT.jar -Dlog4j.configuration=file:///c:\log4j2.xml
    • 好的,如果你想把它从普通行改成 log4j.configurationlogging.config
    • 好的.. 但我想要它在外面,你的日志配置永远不应该在可运行的工件(imo)内。 --logging.config.file=fie:///c:\log4j2.xml 有效。谢谢!
    • 是的,我在罐子外将它与 LobBack 一起使用。我提到的一个 jar 文件里面是 application.properties 文件。
    【解决方案2】:

    你必须把“-Dlog4j”放在“-jar XXXX.jar”之前。我自己试试。为我工作。

    【讨论】:

      【解决方案3】:

      如果您正在使用 gradle,并尝试运行测试方法,则必须将以下内容添加到 build.gradle。这使测试方法能够在测试运行期间选择 -Dlog4j.configurationFile= :

      测试{ systemProperty "log4j.configurationFile", System.getProperty("log4j.configurationFile") }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-05
        • 2017-01-17
        • 2019-06-12
        • 2016-04-03
        • 2016-10-11
        • 1970-01-01
        • 1970-01-01
        • 2017-05-05
        相关资源
        最近更新 更多