SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)
Posted DT辰白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)相关的知识,希望对你有一定的参考价值。
文章目录
前言
最近小编实在无聊,每天看着IDEA的控制台打印,丑到爆,实在不爽,影响我粘贴复制的速度,于是来一波炫酷的操作,其实就是单纯的为了好玩,炫酷!!!!!!真的是这样吗?不,那是必须要掌握的知识,学SpringBoot 这都不知道,你就OUT了,今天我们再来回顾一波,集成logback,打印彩色日志以及制作启动banner。
一、banner配置
先上效果:
看到么有?炫酷吧!!
1.1 banner图像在线生成工具
https://www.bootschool.net/ascii/
生成之后,直接下载banner.txt文件到SpringBoot工程目录下:
1.2 banner配置颜色
配置颜色可以设置背景颜色和字体颜色:
${AnsiColor.GREEN} // 字体颜色
${AnsiBackground.BLACK} // 背景颜色
字体颜色可配置属性如下图:
背景颜色可配置属性如下图:
额外配置其他参数(如SpringBoot版本号):
${spring-boot.version}
1.3 banner启动状态控制
如果我们想启动的时候,不要banner,我们可以关闭它,在SpringBoot入口启动类进行设置,添加如下代码:
/**
* 后台启动器
* @author DT
* @date 2021/6/2 21:37
*/
@SpringBootApplication
@MapperScan("com.dt.app.api.*.mapper")
public class ManageApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(ManageApplication.class);
// 设置Banner开启状态
app.setBannerMode(Banner.Mode.LOG);
app.run(args);
}
}
LOG // 代表开启
OFF // 代表关闭
当我们设置成OFF的时候,测试一下效果如下图:
二、logback彩色日志配置
效果图:
2.1 引入依赖
如果是Spring Boot项目,只需要web依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
网上很多教程引入了spring-boot-starter-logging这个依赖,其实不用,因为我们本身就是SpringBoot web项目,当我们引入web依赖的时候,就帮我们引入了logging相关的依赖配置了,所以我们不需要再额外引入,如下:
2.2 logback-spring.xml配置
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台,在运行应用程序时,可以看到在未手动配置的情况下已经输出了很多INFO级别的日志。
日志基本从高到到低: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项
上面是默认的命名规则,放在src/main/resources下面即可。
当然你也可以改名称,在springboot配置文件中通过logging.config属性指定自定义的名字。
logging.config=classpath:logging-config.xml
2.3 logback-spring.xml官方彩色配置
这里我们参考官方推荐的配置方式,配置彩色日志属性:
http://logback.qos.ch/manual/layouts.html#coloring
控制台打印彩色日志配置方式:
%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n
打印输出:时间、线程名称、日志级别、Logger名、日志内容
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
日志输出到文件:
日志输出到文件,随着应用的运行时间越来越长,日志也会增长的越来越多,将他们输出到同一个文件并非一个好办法。RollingFileAppender用于切分文件日志:
下面是小编的完整配置:
<?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>
完结!!!!!!!!!!!!!!!!
总结
好了,今天的内容就到这里,喜欢的小伙伴点个赞吧,关注小编,每天都会推出日常开发干货,觉得收获满满,一起努力朝着全栈技术大佬努力,当你累的时候,就休息吧,喜欢是一种态度,坚持才是态度的体现,生活如此,编程如此,慢慢来!!!
以上是关于SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)的主要内容,如果未能解决你的问题,请参考以下文章
13.7 SpringBoot集成日志系统logback的几个问题
SpringBoot集成logback日志展示(SpringBoot项目配置4)
springboot logback 配置 通配符不行就这样