Spring在log4j2.yml中读取logging.path

时间:2019-04-23 08:28:34

标签: java spring spring-boot

我的目标是能够根据环境配置日志的位置。例如,在本地计算机上,写入project-dir/logs。在开发计算机上,写入/var/log/someapp/logs

Spring文档说,通过将--logging.path发送到JVM,可以通过$LOG_PATH环境变量访问日志记录路径。但是我找不到如何在log4j2.yml中访问此变量。这就是我尝试过的。

Configutation:
  name: SomeApp

  Properties:
    Property:
      name: log-path
      value: "${LOG_PATH}"

  Appenders:
    Console:
      name: Console_Appender
      target: SYSTEM_OUT
      PatternLayout:
        pattern: "%style{%d{ISO8601}}{white} %highlight{%-5level}[%style{%t}{bright,blue}] %style{%C{1.}}{bright,yellow}: %msg%n%throwable"

    File:
      - name: Json_File_Appender
        fileName: ${log-path}/app.log
        JsonLayout:
          compact: false

  Loggers:

    Root:
      level: info
      AppenderRef:
        - ref: Console_Appender

    Logger:
      - name: me.chris.someapp
        level: info
        AppenderRef:
          - ref: Json_File_Appender

然后我输入

java -jar someapp.jar --logging.path=mylogs

它的作用是在项目目录中创建一个名为${LOG_PATH}的文件夹。

那我该怎么办?

0 个答案:

没有答案