一、基础知识
①log4j、logback、slf4j的介绍
slf4j是日志的规范(也就是一种日志标准),而logback、log4j是具体实现的日志系统。
②logback速度比log4j执行速度更快,官方推荐使用logback作为日志系统。
③官方推荐使用logback-spring.xml自定义配置SpringBoot框架的日志配置。
④SpringBoot默认使用logback来记录logger(日志)。
二、logback-spring.xml(按大小进行切割)编写例子:
①功能介绍:
1、继承Spring boot logback设置(可以在appliaction.yml或者application.properties设置logging.*属性)
2、重写了默认配置,设置日志文件大小在10MB时,按日期切分日志,切分后目录:
①log4j、logback、slf4j的介绍
slf4j是日志的规范(也就是一种日志标准),而logback、log4j是具体实现的日志系统。
②logback速度比log4j执行速度更快,官方推荐使用logback作为日志系统。
③官方推荐使用logback-spring.xml自定义配置SpringBoot框架的日志配置。
④SpringBoot默认使用logback来记录logger(日志)。
二、logback-spring.xml(按大小进行切割)编写例子:
①功能介绍:
1、继承Spring boot logback设置(可以在appliaction.yml或者application.properties设置logging.*属性)
2、重写了默认配置,设置日志文件大小在10MB时,按日期切分日志,切分后目录:
my.2017-08-01.0 10MB
my.2017-08-01.1 10MB
my.2017-08-02.0 9.6MB
my.2017-08-03.0 9.8MB
②具体配置:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--包含Spring boot对logback日志的默认配置-->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!--定义日志文件存储地址 不要使用相对路径进行配置-->
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<!--控制输出日志的配置-->
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<!--重写了Spring Boot框架 org/springframework/boot/logging/logback/file-appender.xml 配置-->
<appender name="TIME_FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<!--日志文件的部分名字-->
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件的切割的方式-->
<!--${LOG_FILE}表示.log文件的文件名 %i 表示这一天的第几个日志-->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>
<!--保留历史日志一个月的时间-->
<maxHistory>30</maxHistory>
<!--
Spring Boot默认情况下,日志文件10M时,会切分日志文件,这样设置日志文件会在100M时切分日志
-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!--日志的默认级别-->
<root level="INFO">
<!--控制台输出-->
<appender-ref ref="CONSOLE" />
<!--日志文件中输出-->
<appender-ref ref="TIME_FILE" />
</root>
</configuration>