ITPub博客

首页 > 数据库 > 数据库开发技术 > springboot集成logback打印彩色日志

springboot集成logback打印彩色日志

原创 数据库开发技术 作者:hblog 时间:2024-03-04 16:32:49 0 删除 编辑

一、logback介绍

Logback是由log4j创始人设计的另一个开源日志组件,官方网站: logback.qos.ch。它当前分为以下三个模块:

  • logback-core:其它两个模块的基础模块。

  • logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。

  • logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能。

默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。

二、代码工程

实验目标:实现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: 8088logging:  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> <!--日志文件保留天数--> <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@Slf4jpublic 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应用,查看控制台日志,打印彩色日志。如下图所示:

四、引用

  • https://logback.qos.ch/manual/layouts.html#coloring

  • http://www.liuhaihua.cn/archives/710275.html

  • https://blog.csdn.net/qq_41107231/article/details/117573372


原文作者:HBLOG;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-05-04

  • 博文量
    210
  • 访问量
    111758