SpringBoot——sl4j+logback日志处理及配置详解
日志的级别
打印级别:ALL > TRACE > FATAL > DEBUG > INFO > WARN > ERROR > OFF
输出级别:TRACE > DEBUG > INFO > WARN > ERROR
logback-spring.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration><configuration scan="true"><include resource="org/springframework/boot/logging/logback/base.xml"/><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,所以我们使用下面的策略,可以避免输出 Error 的日志--><filter class="ch.qos.logback.classic.filter.LevelFilter"><!--过滤 Error--><level>ERROR</level><!--匹配到就禁止--><onMatch>DENY</onMatch><!--没有匹配到就允许--><onMismatch>ACCEPT</onMismatch></filter><!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天的日志改名为今天的日期。即,<File> 的日志都是当天的。--><File>logs/hdback.log</File><!--滚动策略,按照时间滚动 TimeBasedRollingPolicy--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间--><fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern><!--只保留最近20天的日志--><maxHistory>20</maxHistory><!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志--><!--<totalSizeCap>1GB</totalSizeCap>--></rollingPolicy><!--日志输出编码格式化--><encoder><charset>utf-8</charset><Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern></encoder></appender></configuration>
在application.yml/application.xml中的一般配置
logging.config= 日志配置文件的位置。例如,classpath:logback.xml。
logging.exception-conversion-word=%wEx 转换异常时使用的转换字。
logging.file= 设置保存日志的日志文件
logging.file.max-history=90 历史日志保存的最大天数
logging.file.max-size=10MB 设置日志文件最大大小
logging.level.*= 设置日志等级
logging.path= 日志文件的位置,例如/var/log
logging.pattern.console= 定义打印的日志格式
logging.pattern.dateformat=yyyy-MM-dd HH:mm:ss.SSS 设置日志日期格式
logging.pattern.file= 定义输出到日志文件的日志格式
logging.register-shutdown-hook=false 当初始化日志系统时,为其注册一个关闭钩子。
作为自己的笔记,也给有需要的朋友一个参考。