在配置文件中加入配置:logging.config=classpath:logback-spring.xml
目录结构:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<contextName>purchase</contextName>
<!--ch.qos.logback.core.ConsoleAppender====控制台输出-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<!--日志编码-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%-4relative] [%thread] %logger{36}:%L - %msg%n</pattern>
</encoder>
</appender>
<!--ch.qos.logback.core.rolling.RollingFileAppender====输出到文件-->
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径-->
<file>/home/dcb/log/purchase/logs/app-log.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件过大,肯定要切分,它定义 文件的切分方式-->
<fileNamePattern>/home/dcb/log/purchase/logs/app-debug-%d{yyyy-MM-dd}.txt</fileNamePattern>
<!--表示只保留最近40天的日志-->
<maxHistory>40</maxHistory>
<!--到达1GB就会删除旧日志-->
<totalSizeCap>1GB</totalSizeCap>
<!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>20MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%-4relative] [%thread] %logger{36}:%L - %msg%n</pattern>
</encoder>
<!--定义日志级别-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/home/dcb/log/purchase/logs/app-info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/home/dcb/log/purchase/logs/app-info-%d{yyyy-MM-dd}.txt</fileNamePattern>
<!--表示只保留最近40天的日志-->
<maxHistory>40</maxHistory>
<!--到达1GB就会删除旧日志-->
<totalSizeCap>1GB</totalSizeCap>
<!--<timeBasedFileNamingAndTriggeringPolicy-->
<!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>20MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%-4relative] [%thread] %logger{36}:%L - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/home/dcb/log/purchase/logs/app-error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/home/dcb/log/purchase/logs/app-error-%d{yyyy-MM-dd}.txt</fileNamePattern>
<!--表示只保留最近40天的日志-->
<maxHistory>40</maxHistory>
<!--到达1GB就会删除旧日志-->
<totalSizeCap>1GB</totalSizeCap>
<!--<timeBasedFileNamingAndTriggeringPolicy-->
<!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<!– or whenever the file size reaches 2MB –>-->
<!--<maxFileSize>20MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%-4relative] [%thread] %logger{36}:%L - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</configuration>