logback-spring.xml 2.4 KB
<?xml version="1.0" encoding="UTF-8"?>

<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
  <jmxConfigurator/>

   
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>./logs/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>30</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n
      </pattern>
    </encoder>
  </appender>

  <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>ERROR</level>
    </filter>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>./logs/error.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>30</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n
      </pattern>
    </encoder>
  </appender>

  <!-- 异步输出 -->
  <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
    <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
    <discardingThreshold>0</discardingThreshold>
    <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
    <queueSize>512</queueSize>
    <!-- 添加附加的appender,最多只能添加一个 -->
    <appender-ref ref="FILE"/>
  </appender>

  <springProfile name="default">
    <logger name="isa.qa" level="DEBUG"/>
    <root level="info">
      <appender-ref ref="CONSOLE"/>
    </root>
  </springProfile>
  <springProfile name="dev">
    <logger name="isa.qa" level="DEBUG"/>
    <root level="info">
      <appender-ref ref="ASYNC"/>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="ERROR_FILE"/>
    </root>
  </springProfile>
  <springProfile name="pro">
    <logger name="isa.qa" level="DEBUG"/>
    <root level="info">
      <appender-ref ref="ASYNC"/>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="ERROR_FILE"/>
    </root>
  </springProfile>
  <springProfile name="test">
    <logger name="isa.qa" level="DEBUG"/>
    <root level="info">
      <appender-ref ref="CONSOLE"/>
    </root>
  </springProfile>

</configuration>