SpringBoot集成logback打印彩色日志的代碼實現(xiàn)
一、logback介紹
Logback是由log4j創(chuàng)始人設計的另一個開源日志組件,官方網(wǎng)站: logback.qos.ch。它當前分為以下三個模塊:
- logback-core:其它兩個模塊的基礎模塊。
- logback-classic:它是log4j的一個改良版本,同時它完整實現(xiàn)了slf4j API使你可以很方便地更換成其它日志系統(tǒng)如log4j或JDK14 Logging。
- logback-access:訪問模塊與Servlet容器集成提供通過Http來訪問日志的功能。
默認情況下,Spring Boot會用Logback來記錄日志,并用INFO級別輸出到控制臺。
二、代碼工程
實驗目標:實現(xiàn)springboot應用打印彩色日志
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>springboot-demo</artifactId>
<groupId>com.et</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>logback</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
application.yaml
server: port: 8088 logging: config: classpath:logback-spring.xml
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="logs" />
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %-40.40logger{39} : %msg%n" />
<!-- 控制臺輸出 -->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!-- 彩色日志 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n
</pattern>
</layout>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件輸出的文件名-->
<FileNamePattern>${LOG_PATH}/cms.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件最大的大小-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文件保留天數(shù)-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 日志輸出級別 -->
<root level="info">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileLog" />
</root>
</configuration>
comtroller
package com.et.logback.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.Map;
@Controller
@Slf4j
public class HelloWorldController {
@RequestMapping("/hello")
@ResponseBody
public Map<String, Object> showHelloWorld(){
log.info("info日志");
Map<String, Object> map = new HashMap<>();
map.put("msg", "HelloWorld");
return map;
}
}
代碼倉庫
https://github.com/Harries/springboot-demo
三、測試
啟動springboot應用,查看控制臺日志,打印彩色日志。如下圖所示:

以上就是SpringBoot集成logback打印彩色日志的代碼實現(xiàn)的詳細內容,更多關于SpringBoot logback彩色日志的資料請關注腳本之家其它相關文章!
- SpringBoot使用TraceId進行日志鏈路追蹤的實現(xiàn)步驟
- SpringBoot使用@Slf4j注解實現(xiàn)日志輸出的示例代碼
- Springboot日志配置的實現(xiàn)示例
- springboot項目配置logback-spring.xml實現(xiàn)按日期歸檔日志的方法
- 在SpringBoot框架中實現(xiàn)打印響應的日志
- SpringBoot中使用AOP實現(xiàn)日志記錄功能
- SpringBoot項目實現(xiàn)日志打印SQL的常用方法(包括SQL語句和參數(shù))
- Springboot MDC+logback實現(xiàn)日志追蹤的方法
- springboot 日志實現(xiàn)過程
相關文章
IDEA拉取GitLab項目報錯:必須為訪問令牌授予作用域[api, read user]的解決過程
文章講述了在使用IDEA2024.1克隆GitLab私有倉庫時遇到的認證問題,包括插件強制API認證、令牌權限不足以及認證機制沖突,通過禁用GitLab插件或卸載插件,可以回退到基礎認證流程,解決認證問題2026-01-01
java.lang.IllegalStateException異常原因和解決辦法
這篇文章主要給大家介紹了關于java.lang.IllegalStateException異常原因和解決辦法,IllegalStateException是Java標準庫中的一個異常類,通常表示在不合適或無效的情況下執(zhí)行了某個方法或操作,需要的朋友可以參考下2023-07-07
@annotation?AOP編程的pointcut定義方式
文章介紹通過注解簡化AOP復雜結構定義,避免繁瑣的邏輯組合,提升開發(fā)效率,并展示IDE如何輔助查看切入點匹配2025-08-08
Spring?Cloud?Alibaba實現(xiàn)服務的無損下線功能(案例講解)
這篇文章主要介紹了Spring?Cloud?Alibaba實現(xiàn)服務的無損下線功能?,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
springboot整合websocket實現(xiàn)群聊思路代碼詳解
通過springboot引入websocket,實現(xiàn)群聊,通過在線websocket測試進行展示。本文重點給大家介紹springboot整合websocket實現(xiàn)群聊功能,代碼超級簡單,感興趣的朋友跟隨小編一起學習吧2021-05-05

