Springboot 日志配置 logback.xml配置详解 从零到一搭建项目日志
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 定义日志文件路径和格式的全局变量 -->
<property name="log.path" value="${user.dir}/logs" />
<property name="file.pattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{50} - %msg%n" />
<!-- 定义控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${file.pattern}</pattern> <!-- 控制台输出日志的格式 -->
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level> <!-- 控制台只输出INFO级别及以上的日志 -->
</filter>
</appender>
<!-- 定义错误日志文件输出 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file> <!-- 错误日志文件的路径 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 错误日志文件的滚动策略,按时间和大小滚动 -->
<maxFileSize>5MB</maxFileSize> <!-- 每个文件最大5MB -->
<maxHistory>30</maxHistory> <!-- 最多保留30个历史文件 -->
<totalSizeCap>100MB</totalSizeCap> <!-- 总文件大小不超过100MB -->
<cleanHistoryOnStart>false</cleanHistoryOnStart>
<!-- 如果设置为true,应用启动时将删除旧的日志文件 -->
</rollingPolicy>
<encoder>
<pattern>${file.pattern}</pattern> <!-- 错误日志文件的格式 -->
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level> <!-- 只输出ERROR级别的日志到错误文件 -->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 根配置 -->
<root level="info">
<appender-ref ref="STDOUT" /> <!-- 输出到控制台 -->
<appender-ref ref="ERROR_FILE" /> <!-- 输出到错误日志文件 -->
</root>
</configuration>
<!-- 依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.6</version> <!-- 或者使用最新版本 -->
</dependency>
1 、从 0 到 1使用步骤:
1 、创建 logback.xml 文件,把内容复制粘贴即可,
2 、在java 项目创建一个 logs 的文件夹,里面创建一个 error.log 文件
3 、别看了,大功告成!
2 、解析
1、 springboot 项目默认自带的日志配置就有 logback,因此只需要在 resource 下创建一个 logback.xml 即可,不需要引入依赖。
2 、logback.xml 其中有一个 <property name="log.path" value="${user.dir}/logs" />
这个定义了日志记录的具体位置,可以自己写一个,我写的是项目目录下创建一个logs文件夹,里面创建一个error.log专门记录了