当前位置: 首页 > 知识库问答 >
问题:

如何在logback.xml中动态指定文件路径

宰父君昊
2023-03-14

我是新的登录,我试图添加文件路径动态,与属性文件,为windows和Linux。

下面是我的代码sinppet,我如何获得${MY_HOME}的值

<appender name="SERVER_FILE" class="ch.qos.logback.core.FileAppender">
    <file>${MY_HOME}/server.log</file>
    <append>true</append>
    <encoder>
      <pattern>%d [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender> 

共有1个答案

储法
2023-03-14

通常这是一个系统属性,有一些答案涉及到这一点,但只提供了答案的一部分。这些是:

  • logback.xml配置
  • 登录如何设置日志文件的目标文件夹

但配置手册显示,该机制相当灵活

<property name="MY_HOME" value="/home/myhome"/>

您可以安排将其设置为系统属性,最有可能是在启动JVM时。

java -DMY_HOME="/home/myhome" ...

从系统上的属性文件

您可以安排登录以读取属性文件:

<property file="/opt/example/instance_1/properties/system.properties" />
<property resource="prod.properties" />
<define name="MY_HOME" class="biz.nowhere.HomePropertyDefiner">
   <application>app</application>
</define>
public class HomePropertyDefiner extends PropertyDefinerBase {

  private String application;

  @Override
  public String getPropertyValue() {
    return String.format("/opt/%s/%s", application, MyInstanceManager.instancePath());
  }

  public void setApplication(String application) {
      this.application = application;
  }

}
 类似资料:
  • 问题内容: 我已经为“ Debian Linux”创建了一个Java应用程序。现在,我希望该应用程序读取放置在指定该应用程序的jar文件的目录中的文件。那么在File Object的参数中要指定什么呢? 在上述声明中,作为参数指定相对文件路径的参数是什么,该相对文件路径表示放置应用程序的jar文件的路径? 问题答案: 如果您知道文件的名称,那么当然 如果您不知道名称,则可以使用File对象的lis

  • 问题内容: 文件名根据月份而变化。每个月都有一个新文件。 如何设置将与可变文件路径一起使用的连接管理器? 问题答案: 您需要为 或 属性设置表达式,以 使用SSIS包变量动态修改Excel连接管理器。

  • 这是我的代码,我想创建方法,接受文件,并将其移动到我的电脑指定的文件夹。我只是把现有的文本文件复制到另一个文本文件中,但我想在指定的文件夹中移动,而不是复制。如何解决这个问题?

  • 我有一个Java maven项目,需要使用logback作为日志记录框架。我已经将logback.xml配置文件放在src/main/conf文件夹中。但是,由于src/main/conf不在类路径中,它似乎没有被拾取。在构建项目时,我将该文件夹的所有内容复制到target/root/conf,并希望将该目录作为类路径的一部分。谁能让我知道我该怎么强迫?

  • 我已经在spring boot中使用log4j2完成了日志记录。我想从属性文件动态设置日志文件路径。我已经为此编写了下面的代码,但它工作得不好。 我的财产档案。属性代码如下所示 和我的日志文件log4j2。xml代码如下所示