【问题标题】:How to change the path for logging.file in (logback.xml) for UAT server?如何更改 UAT 服务器 (logback.xml) 中 logging.file 的路径?
【发布时间】:2020-07-29 12:52:12
【问题描述】:

我正在尝试在 UAT (Linux) 服务器上运行一个项目,但是有一个问题,我需要将日志写入测试服务器上的不同路径。

项目资源包含logback.xml,指定写入日志的位置:

<property name = "logging.path" value = "/logs"/>
<property name = "logging.file" value = "app-logger"/>

我不能更改这个文件,因为在这种情况下一切都是正确的,但是对于 UAT,我创建了另一个 logback.xml 并将它不是放在资源中而是放在另一个目录中,当我运行 jar 文件时,我想指定我需要拿这个logback.xml

在 UAT 上我执行这个命令

java -Xmx512M -jar /home/user/app/program/program-0.1.jar --logging.config = app/program/config/logback.xml

我收到了这个错误:

ERROR in ch.qos.logback.core.rolling.RollingFileAppender [RollingFile] - openFile (/logs/app-logger.log,true) call failed. java.io.FileNotFoundException: /logs/app-logger.log (No such file or directory)
        at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration (LogbackLoggingSystem.java:169)

所以我创建的第二个文件 logback.xml 被忽略,而使用资源中的那个。我究竟做错了什么?如何将另一个 logback.xml 放入 Spring 中?

【问题讨论】:

    标签: java spring logging console


    【解决方案1】:

    您可以将所需的日志目录添加到环境特定的属性文件中, 应该类似于 application.uat.properties。所以你会添加类似LOG_DIR=path/to/directory

    完成后,将“&lt;property resource="application.${env}.properties"/&gt;”添加到您的 logback.xml

    最后在你的文件 appender 中,添加 '&lt;file&gt;${LOG_DIR}/serive.log&lt;/file&gt;'

    【讨论】:

    • 在哪里可以找到文件附加程序?我应该添加执行命令 --logging.config = app/program/config/logback.xml 吗?
    • 您需要自己添加文件附加程序,我建议阅读本指南:baeldung.com/logback#2-fileappender。而且,不,一旦您执行了这些步骤,您将不需要使用 logging.config 标志。
    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 2011-02-02
    • 1970-01-01
    • 2021-10-04
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多