前言
最近小编切实无聊,每天看着 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>
完结!!!!!!!!!!!!!!!!
总结
好了,明天的内容就到这里,喜爱的小伙伴点个赞吧,关注小编,每天都会推出日常开发干货,感觉播种满满,一起致力朝着全栈技术大佬致力,当你累的时候,就劳动吧,喜爱是一种态度,保持才是态度的体现,生存如此,编程如此,慢慢来!!!!!!