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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM