修改springboot启动log
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.7.RELEASE)
shell
Spring Boot 支持自定义 Banner,接下来本文将详细讨论如何定制 Banner 内容,首先来了解下 Banner 是如何出现的。
Banner 是如何出现的?
初始 Banner 的代码是 SpringApplicationBannerPrinter 类,Spring Boot 默认寻找 Banner 的顺序是:
- 首先依次在
Classpath下找文件banner.gif,banner.jpg和banner.png,使用优先找到的 - 若没找到上面文件的话,继续
Classpath下找banner.txt - 若上面都没有找到的话, 用默认的
SpringBootBanner,也就是上面输出的Spring Boot Logo一般是把banner.*文件放在src/main/resources/目录下。- 我们可以用属性
banner.location设定Spring Boot在不同于Classpath下找以上banner.txt文件,banner.charset设定banner.txt的字符集,默认为UTF-8。 - 属性
banner.image.location用于指定寻找banner.(gif|jpg|png)文件的位置。 - 如果同时存在图片(如
banner.jpg) 和banner.txt, 则它们会同时显示出来,先图片后文字,但同时存在多个图片banner.(gif|jpg|png),则只会显示第一张图片。
- 我们可以用属性
- 对于文本文件,
Spring Boot会将其直接输出。 - 对于图像文件(
banner.gif、banner.jpg或banner.png),Spring Boot会将图像转为ASCII字符,然后输出。
banner.txt 文件中还可以使用变量来设置字体、颜色、版本号:
| 变量 | 描述 |
|---|---|
${application.version} |
MANIFEST.MF中定义的版本。如:1.0 |
${application.formatted-version} |
MANIFEST.MF 中定义的版本,并添加一个 v前缀。如:v1.0 |
${spring-boot.version} |
Spring Boot 版本。如: 1.5.7.RELEASE |
${spring-boot.formatted-version}Spring Boot 版本,并添加一个v前缀。如:v1.5.7.RELEASE |
|
${Ansi.NAME}(or ${AnsiColor.NAME}, ${AnsiBackground.NAME}, ${AnsiStyle.NAME}) |
ANSI 颜色、字体 |
${application.title} |
MANIFEST.MF中定义的应用名 |
配置
application.properties 中与 Banner 相关的配置:
# banner 模式。有三种模式:console/log/off
# console 打印到控制台(通过 System.out)
# log - 打印到日志中
# off - 关闭打印
spring.main.banner-mode = off
# banner 文件编码
spring.banner.charset = UTF-8
# banner 文本文件路径
spring.banner.location = classpath:banner.txt
# banner 图像文件路径(可以选择 png,jpg,gif 文件)
spring.banner.image.location = classpath:banner.gif
used).
# 图像 banner 的宽度(字符数)
spring.banner.image.width = 76
# 图像 banner 的高度(字符数)
spring.banner.image.height =
# 图像 banner 的左边界(字符数)
spring.banner.image.margin = 2
# 是否将图像转为黑色控制台主题
spring.banner.image.invert = false
yaml
也可以在 YAML 文件中配置,例如:
spring:
banner:
charset: UTF-8
location: classpath:banner.txt
yaml
在 Spring Boot 项目中的 resources 目录下添加 banner.txt 文件,内容如下:
:: Author :续加仪
${AnsiColor.CYAN}${AnsiStyle.BOLD}
.---.
| |
'---' .
.---..-. .- .'| .-. .-
| | \ \ / / < | \ \ / /
____ _____ | | \ \ / / | | \ \ / /
`. \ .' / | | \ \ / / | | .'''-. \ \ / /.--------.
`. `' .' | | \ \ / / | |/.'''. \ \ \ / / |____ |
'. .' | | \ ` / | / | | \ ` / / /
.' `. | | \ / | | | | \ / .' /
.' .'`. `. __.' ' / / | | | | / / / /___
.' / `. `. | ' |`-' / | '. | '.|`-' / | |
'----' '----'|____.' '..' '---' '---''..' |_________|
:: Java :: (v${java.version})
:: Spring Boot :: (v${spring-boot.version})
${AnsiStyle.NORMAL}
txt
启动 Spring Boot 应用后,Banner 就已经修改了
推荐几个生成字符画的网站,可以将生成的字符画放入这个banner.txt文件:
https://www.bootschool.net/ascii
http://www.network-science.de/ascii/






