先讲下通过lombok添加日志
springboot下添加包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
idea 系统设置下在 Plugins下点 Browse Repositories.. 再输入lombok添加并安装,好了重启idea就好
在类上添加注释 @Slf4j, 需要打印日志 只要写 log.info("");
下面是自己的logback配置 新建 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--logback 配置
debug当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
scan当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。-->
<configuration debug="false" scan="true" scanPeriod="60 seconds">
<property name="logHome" value="D:/logs"></property>
<!--定义一个控制台输出配置-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!--定义输出格式-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
<!--highlight会根据日志等级显示不同颜色, level前面的-5是缩位,方便后面对齐-->
%d %highlight(%-5level) %yellow([%class.%method]) - %boldMagenta(%msg) %n
</pattern>
</layout>
</appender>
<!--定义文件输出log 滚动类型,需要每天一个生成一个日志文件 info级别-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--添加过滤器,如果是error则拒绝,如果不是则通过 另外还有一个NEUTRAL值,如果这里没有命中,则找下面一个appender来匹配-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%d %-5level [%class.%method] - %msg%n
</pattern>
<charset>UTF-8</charset>
</encoder>
<!--滚动策略 根据时间滚动-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--%d 默认格式为 yyyy-MM-dd 这样日志以天为单位,则后面设置的maxHistory也以天为单位-->
<fileNamePattern>${logHome}/sbtInfo.%d.log</fileNamePattern>
<!--保存30天日志,每天检查日志,超过30天的会删除-->
<maxHistory>30</maxHistory>
<!--所有日志文件总大小为1G-->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<!--单个日志文件的大小限制-->
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--添加过滤器,仅过滤error-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%d [%class.%method] - %msg%n
</pattern>
<charset>UTF-8</charset>
</encoder>
<!--滚动策略 根据时间滚动-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--%d 默认格式为 yyyy-MM-dd 这样日志以天为单位,则后面设置的maxHistory也以天为单位-->
<fileNamePattern>${logHome}/sbtInfo.%d.log</fileNamePattern>
<!--保存30天日志,每天检查日志,超过30天的会删除-->
<maxHistory>30</maxHistory>
<!--所有日志文件总大小为1G-->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<!--单个日志文件的大小限制-->
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
</appender>
<!--root 为整个项目输出日志的配置 ,级别为info-->
<root level="info">
<!--日志输出采用之前定义的 规则-->
<appender-ref ref="consoleLog"></appender-ref>
<appender-ref ref="fileInfoLog"></appender-ref>
<appender-ref ref="fileErrorLog"></appender-ref>
</root>
</configuration>