<?xml version="1.0" encoding="UTF-8"?>
<!--配置一天一个日志文件,info信息存在一个文件中,error信息存在一个文件中-->
<configuration>
<!--日志文件输出路径-->
<property name="LOG_HOME" value="./logs"/>
<!--配置控制台打印信息-->
<appender name="ConsoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d [%thread] %-5level %logger{36} - %msg%n
</pattern>
</layout>
</appender>
<!--配置info文件-->
<appender name="InfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<charset>UTF-8</charset>
<pattern>
%d [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>${LOG_HOME}/info.%d.%i.log</fileNamePattern>
<!--保存的时间(天数)-->
<maxHistory>60</maxHistory>
<!--日志文件的总大小-->
<totalSizeCap>1GB</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<!--过来命中就过滤掉-->
<onMatch>ACCEPT</onMatch>
<!--没有命中就接受-->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--配置warn文件-->
<appender name="WarnLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<charset>UTF-8</charset>
<pattern>
%d [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/warn.%d.log</fileNamePattern>
<maxHistory>60</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<!--过来命中就过滤掉-->
<onMatch>ACCEPT</onMatch>
<!--没有命中就接受-->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--配置error文件-->
<appender name="ErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<charset>UTF-8</charset>
<pattern>
%d [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/error.%d.log</fileNamePattern>
<maxHistory>60</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<!--过来命中就过滤掉-->
<onMatch>ACCEPT</onMatch>
<!--没有命中就接受-->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--加载配置项-->
<root level="INFO">
<appender-ref ref="ConsoleLog"/>
<appender-ref ref="InfoLog"/>
<appender-ref ref="WarnLog"/>
<appender-ref ref="ErrorLog"/>
</root>
</configuration>