logback-spring.xml配置文件如下
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false" debug="false">
<!-- 读取yml中的配置-->
<springProperty scope="context" name="currentLoggerFilePath" source="logging.file.path"/>
<springProperty scope="context" name="currentLoggerLevelRoot" source="logging.level.root"/>
<springProperty scope="context" name="currentLoggerAnipayLogLevel" source="logging.level.com.anipay"/>
<!--日志文件配置-->
<property name="currentLoggerFileName" value="anipayLog"/>
<property name="currentLoggerPattern"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] [%logger{15}] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>${currentLoggerPattern}</pattern>
</encoder>
</appender>
<!-- 写入日志文件配置-->
<!-- appender:主日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件路径及文件名 -->
<file>${currentLoggerFilePath}/${currentLoggerFileName}.all.log</file>
<!-- 内容编码及格式 -->
<encoder charset="UTF-8">
<pattern>${currentLoggerPattern}</pattern>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天日志归档路径以及格式 -->
<fileNamePattern>${currentLoggerFilePath}/${currentLoggerFileName}.all.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>5</maxHistory> <!--日志文件保留天数-->
</rollingPolicy>
</appender>
<!-- appender:错误信息日志文件 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件路径及文件名 -->
<file>${currentLoggerFilePath}/${currentLoggerFileName}.error.log</file>
<!-- 内容编码及格式 -->
<encoder charset="UTF-8">
<pattern>${currentLoggerPattern}</pattern>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天日志归档路径以及格式 -->
<fileNamePattern>${currentLoggerFilePath}/${currentLoggerFileName}.error.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!--日志文件保留天数-->
<maxHistory>10</maxHistory>
</rollingPolicy>
<!-- 此日志文件只记录ERROR级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 主日志级别配置 -->
<root level="${currentLoggerLevelRoot}">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
<!-- 项目日志级别配置 -->
<logger name="com.anipay" level="${currentLoggerAnipayLogLevel}"/>
</configuration>