SpringBoot管理Banner

Posted lxw_thinker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot管理Banner相关的知识,希望对你有一定的参考价值。

一、引言

在springboot项目启动的时候,会在console控制台中打印出一个SPRING的图案。有时候为了减少日志输出以及控制台的输出,就需要将这些给去除;有时候需要换上个人的标签等标识,就需要将其自定义为个人标识。

二、Banner输出

 

三、控制Banner

  1. SpringApplication 类提供了一种通过运行 main() 方法的方便方式来引导Spring应用。
@SpringBootApplication
public class GoodthinkApplication {
	//默认开启方法
    public static void main(String[] args) {
        SpringApplication.run(GoodthinkApplication.class, args);
    }
	//关闭方法
	public static void main(String[] args) {
		SpringApplication app = new SpringApplication(GoodthinkApplication.class);
        //关闭bannar
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);    
	}
	  // 自定义启动方式
	public static void main(String[] args) {
        new SpringApplicationBuilder(App.class)
                .bannerMode(Banner.Mode.OFF)
                .build()
                .run(args);
    }
}

  通过启动main方法,就会默认开启Banner显示。默认情况下,将显示 INFO 级别的日志信息,包括启动应用用户的一些相关的启动详细信息。
  2. yml文件

spring:
  main:
    # banner显示方式
    banner-mode: console   #这是默认方式--在控制台显示
	# "off" 关闭banner,这是最简单的方式,注意要添加双引号
	# log,使用配置的logger 

四、自定义Banner

如果不喜欢默认的Banner,可以更改为自定义的图案或者文本进行打印输出。
自定义后的Banner如图示:

方法: 在classpath(即在resources下)中添加中一个banner.txt文件,将或者banner.location设置到此类文件的位置来更改启动时的Banner。如果文件采用了不一样的编码,设置banner.charset(默认是UTF-8)来解决。除了使用文本文件,还可以将banner.gif,banner.jpg或者banner.png图像文件添加到您的classpath中,或者设置一个banner.image.location属性。图像将会被转换成ASCII的表现形式并打印在任何文本banner上方。
在 banner.txt 文件中使用占位符可以输出相应的信息:

${spring-boot.version}   输出当前项目的版本号
${spring-boot.formatted-version} Spring Boot版本格式化之后显示(用括号括起来,以 v 为前缀)。例如 (v1.5.4.RELEASE)
${AnsiColor.GREEN}   自定义输出文本的颜色,这边是绿色(其他:RED,YELLOW,BLUE等)
${application.version}  在 MANIFEST.MF 中声明的应用版本号。例如,Implementation-Version: 1.0 将被打印为 1.0
${application.formatted-version} 在 MANIFEST.MF 中声明的应用版本号,格式化之后打印(用括号括起来,以 v 为前缀) 例如 (v1.0)
${application.title}  在 MANIFEST.MF 中声明的应用标题,例如 Implementation-Title: MyApp 打印为 MyApp

如果要以编程的方式生成banner,可以使用 SpringApplication.setBanner(​) 方法。使用 org.springframework.boot.Banner 接口并实现自己的 printBanner() 方法。打印的banner将注册为名为 springBootBanner 的单例bean。

 

以上是关于SpringBoot管理Banner的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot关闭Banner

SpringBoot:banner的控制

我写springboot定制启动的banner.txt文件时使用 $AnsiColor.BRIGHT_YELLOW代码,为啥颜色没有改变

自定义SpringBoot启动banner

SpringBoot开发 - 如何定制自己的Banner?还能用图片?

springboot 修改关闭banner的方法