1 前言
在启动 Spring Boot 项目时,默认看到 Spring Boot 启动 Logo。有些小伙伴可能就会想能不能自己定制一个专属的 Logo 呢?答案是肯定可以的。其实SpringBoot是支持自定义logo的,下面就介绍一下如何自定义logo吧!
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.3.RELEASE)
2 实现步骤
2.1 SpringBoot支持文本内容和图像输出
- 文本:文本图像会直接输出
- 图像:支持gif、jpg或者png,SpringBoot会将图像转换为ASCll字符,然后再输出
一般在使用中我们都会使用txt文本内容作为banner输出。
这里分享两个自定义logo的网站:
- http://patorjk.com/software/taag/#p=display&f=3D-ASCII
- http://www.network-science.de/ascii/
2.2 配置
在SpringBoot项目的src/main/resources
目录下新建一个 File 命名为 banner.txt或者banner.gif。
然后再 banner.txt 中粘贴上在上面网站中自定义的 Logo。
除此之外,还可以对logo进行设置字体大小,颜色,SpringBoot版本号等。
变量 | 含义 |
---|---|
${application.version} | MANIFEST.MF 中定义的版本。如:1.0 |
${application.formatted-version} | MANIFEST.MF中定义的版本,并添加一个 v前缀。如: v1.0 |
${spring-boot.version} | Spring Boot 版本。如:2.1.1.RELEASE . |
${spring-boot.formatted-version} | Spring Boot 版本,并添加一个 v 前缀。如:v2.1.1.RELEASE |
${Ansi.NAME} (or ${AnsiColor.NAME} , ${AnsiBackground.NAME} , ${AnsiStyle.NAME} ) | ANSI 颜色、字体。更多细节,参考:AnsiPropertySource 。 |
${application.title} | MANIFEST.MF 中定义的应用名。 |
注:${} 设置字体颜色的变量之间不能换行或空格分隔,否则会导致除最后一个变量外,都不生效。
同时也可以在application.yml中对banner进行配置
spring:
main:
# banner-mode有三种模式:console-打印在控制台,log-以日志输出,off-关闭
banner-mode: console
banner:
# 指定文本banner字符编码
charset: utf-8
# 指定文本banner路径
location: classpath:banner.txt
image:
# 指定图像banner路径
location: banner.gif
# 指定图像banner宽度
width: 76
# 指定图像banner高度
height:
# 指定图像banner距离左边界字符数
margin: 2
# 指定图像banner是否转换为黑色控制台主题
invert: false
banner.txt内容:
___ ________ ___ __ ________ ________ ___ __
|\ \|\ _____\\ \|\ \ |\ ___ \|\ __ \|\ \ |\ \
\ \ \ \ \__/\ \ \/ /|\ \ \\ \ \ \ \|\ \ \ \ \ \ \
\ \ \ \ __\\ \ ___ \ \ \\ \ \ \ \\\ \ \ \ __\ \ \
\ \ \ \ \_| \ \ \\ \ \ \ \\ \ \ \ \\\ \ \ \|\__\_\ \
\ \__\ \__\ \ \__\\ \__\ \__\\ \__\ \_______\ \____________\
\|__|\|__| \|__| \|__|\|__| \|__|\|_______|\|____________|
:: Spring Boot :: (v${spring-boot.version})
:: Spring Boot Tutorial :: (v1.0.0)
启动应用后,控制台将打印如下 logo: