相关疑难解决方法(0)

从logback配置文件中读取环境变量

我有这个logback.xml文件:

<configuration debug="true" scan="true" scanPeriod="60 seconds">

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
  </appender>

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${MY_HOME}/logs/mylog.log</File>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <FileNamePattern>logs/my.%d{yyyy-MM-dd}.log</FileNamePattern>
      <MaxHistory>30</MaxHistory>
    </rollingPolicy>

    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level - %msg%n</Pattern>
    </layout>

  </appender> 

  <root level="TRACE">
    <appender-ref ref="FILE"/>
  </root>

</configuration>
Run Code Online (Sandbox Code Playgroud)

并且${MY_HOME}是一个已定义的系统变量(echo $MY_HOME在linux上显示正确的路径).

问题是,logback似乎没有正确读取它,它存储日志 MY_HOME_IS_UNDEFINED/logs/my.log

我究竟做错了什么?非常感谢!

编辑:我犯了一个错误,把OSC_HOME放在我真正意味着MY_HOME的地方.对于那个很抱歉

java logging environment-variables logback

59
推荐指数
3
解决办法
7万
查看次数

标签 统计

environment-variables ×1

java ×1

logback ×1

logging ×1