解决spring boot加载logback-spring.xml

定义配置文件 bootstrap.yml

1
2
3
4
5
logging:
  config: classpath:logback-spring.xml
  file:
    name: ${spring.application.name}
    path: /home/app/log

修改 logback-spring.xml

不需要在logback-spring.xml 中定义 springProperty 获取配置文件内容

  1. 导入defaults配置
1
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  1. 使用logback内部变量获取相关配置属性
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/${LOG_FILE}/%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>


  <fileNamePattern>${LOG_PATH}/${LOG_FILE}/%d{yyyy-MM-dd}.json</fileNamePattern>