Logback简介
logback是继log4j后的又一个日志框架,logback是springboot自带的日志框架,logback以严格的日志级别区分不同级别的日志(其他日志都是继承上一级的日志级别,例如:log4j2,log4j都是继承更高级别的日志),logback分为三个模块,logback-core,logback-classic,logback-access。
- logback-core:logback-core是logback的核心模块,是logback-classic和的logback-access的基础。
- logback-classic:实现了 slf4j API,配合 slf4j 使用,可以方便的切换其他日志框架。
- logback-access:与Servlet容器(如Tomcat和Jetty)集成,提供了 HTTP 访问日志接口。
Springboot集成logback
之前说过,由于springboot自身是集成了logback,所以,在集成logback时只要springboot的自身依赖即可。
pom依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
application.properties文件的配置
logging.config=classpath:logback-spring.xml
logback-spring.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds">
<property name="LOG_HOME" value="./WebAppLogs/logs"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n</pattern>
</encoder>
</appender>
<!-- trace日志 -->
<appender name="RollingFileTrace" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>${LOG_HOME}/trace.log</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只接受trace级别的日志,因为logback有严格的日志区分,所以某一个分类的日志只包括该类型的日志 -->
<level>TRACE</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/trace_%d{yyyy-MM-dd-HH}-%i.log.zip</fileNamePattern>
<!-- 单个文件大小 -->
<maxFileSize>10 MB</maxFileSize>
<!--fileNamePattern的格式为yyyy-MM-dd-HH,则日志回收时间也应该与fileNamePattern相同 -->
<maxHistory>168</maxHistory>
<!--总得文件日志-->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n</pattern>
<!--设置日志编码为utf-8-->
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- debug日志 -->
<appender name="RollingFileDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>${LOG_HOME}/debug.log</file>
<filter class="ch.qos.log

本文深入解析Logback日志框架,介绍其三大模块:core、classic和access,以及如何在Springboot中集成Logback,配置日志级别、输出格式和滚动策略。同时,提供示例代码展示如何通过SLF4J实现Logback日志记录。
最低0.47元/天 解锁文章
401

被折叠的 条评论
为什么被折叠?



