配置文件命名为logback-spring.xml。
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!--用springProperty来配置的话,可以直接读取properties文件-->
<!-- <springProperty scope="context" name="LOG-DIR" source="${log.dir}"/>-->
<springProperty name="LOG-DIR" source="log.path"/>
<springProperty name="APP-NAME" source="log.name"/>
<property name="LOG-PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] [%-5level] [%class:%line] - %m%n"/>
<!--控制台-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<charset>UTF-8</charset>-->
<pattern>${LOG-PATTERN}</pattern>
</encoder>
</appender>
<!--日志文件-->
<appender name="FILE-ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件路径,定义了日志的切分方式,把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
<FileNamePattern>${LOG-DIR}/${APP-NAME}/${APP-NAME}-%d{yyyyMMdd}.log</FileNamePattern>
<!--只保留最近10天的日志-->
<maxHistory>10</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPolicy>
<!--日志输出编码格式化-->
<encoder>
<!--<charset>UTF-8</charset>-->
<pattern>${LOG-PATTERN}</pattern>
</encoder>
</appender>
<!-- ERROR日志文件 -->
<appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!--过滤 ERROR-->
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
<FileNamePattern>${LOG-DIR}/${APP-NAME}/${APP-NAME}-error-%d{yyyyMMdd}.log</FileNamePattern>
<!--只保留最近7天的日志-->
<maxHistory>7</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPolicy>
<!--日志输出编码格式化-->
<encoder>
<!--<charset>UTF-8</charset>-->
<pattern>${LOG-PATTERN}</pattern>
</encoder>
</appender>
<!--wf日志-->
<logger name="org.snaker.engine" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE-ALL"/>
<appender-ref ref="FILE-ERROR"/>
</root>
<!--<logger name="com.jjld.coupon.repository" level="DEBUG"/>-->
<!--<logger name="com.jjld.coupon.com.infoview.third.mapper" level="DEBUG"/>-->
</configuration>
程序启动会生成error类和all两类日志文件。