Logback是由log4j创始人设计的另一个开源日志组件,官方网站: logback.qos.ch。它当前分为以下三个模块:
logback-core:其它两个模块的基础模块。
logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。
logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能。
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。
实验目标:实现springboot应用打印彩色日志
- "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-demoartifactId>
- <groupId>com.etgroupId>
- <version>1.0-SNAPSHOTversion>
- parent>
- <modelVersion>4.0.0modelVersion>
-
-
- <artifactId>logbackartifactId>
-
-
- <properties>
- <maven.compiler.source>8maven.compiler.source>
- <maven.compiler.target>8maven.compiler.target>
- properties>
- <dependencies>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-autoconfigureartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-testartifactId>
- <scope>testscope>
- dependency>
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- <version>1.16.20version>
- <scope>providedscope>
- dependency>
- dependencies>
- project>
- server:
- port: 8088
- logging:
- config: classpath:logback-spring.xml
- "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.logFileNamePattern>
-
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MBmaxFileSize>
- timeBasedFileNamingAndTriggeringPolicy>
-
- <MaxHistory>30MaxHistory>
- 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>
- 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应用,查看控制台日志,打印彩色日志。如下图所示:
https://logback.qos.ch/manual/layouts.html#coloring
http://www.liuhaihua.cn/archives/710275.html
https://blog.csdn.net/qq_41107231/article/details/117573372