修改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.M F中定义的应用名 |
配置
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/