一、准备工作
引入相关jar
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<optional>true</optional>
</dependency>
该目录下添加logback.xml配置文件
二、详细配置说明
logback.xml配置详细内容
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 定义全局参数常量 -->
<!-- 日志记录等级 -->
<property name="log.level" value="debug"/>
<!-- 30表示30个,限制的是日志文件的个数不是天数 -->
<property name="log.maxHistory" value="30"/>
<!-- 日志文件最大大小 -->
<property name="log.maxFileSize" value="50MB"/>
<!-- 日志文件存储路径 -->
<property name="log.logPath" value="F:\\log\\"/>
<!-- 日志的展现格式 -->
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [ %-5level] [ %logger{50} ] - %msg%n"/>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class = "ch.qos.logback.classic.PatternLayout">
<pattern>%yellow(%d) [%cyan(%thread)] %highlight(%-5level) %boldMagenta(%logger{36}) [%boldBlue(%file) : %boldGreen(%line)] - %boldCyan(%msg%n)</pattern>
</layout>
</appender>
<!-- DEBUG -->
<appender name="fileDebugLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 路径 -->
<file>${log.logPath}debug.%d.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志压缩包 -->
<fileNamePattern>${log.logPath}debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<maxHistory>${log.maxHistory}</maxHistory>
<!-- 日志文件大小限制 -->
<maxFileSize>${log.maxFileSize}</maxFileSize>
</rollingPolicy>
</appender>
<!-- INFO -->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 路径 -->
<file>${log.logPath}info.%d.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志压缩包 -->
<fileNamePattern>${log.logPath}info.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<maxHistory>${log.maxHistory}</maxHistory>
<!-- 日志文件大小限制 -->
<maxFileSize>${log.maxFileSize}</maxFileSize>
</rollingPolicy>
</appender>
<!-- ERROR-->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 路径 -->
<file>${log.logPath}error.%d.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志压缩包 -->
<fileNamePattern>${log.logPath}error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<maxHistory>${log.maxHistory}</maxHistory>
<!-- 日志文件大小限制 -->
<maxFileSize>${log.maxFileSize}</maxFileSize>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
</root>
<logger name="com.gdfxit.water" level="DEBUG">
<appender-ref ref="fileDebugLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</logger>
</configuration>
效果如下: