วิธีปิดการใช้งานโลโก้สปริงบูตใน stdout


94

มีวิธีปิดใช้งานโลโก้บูต ASCII Spring ที่สวยงาม แต่มองเห็นได้ชัดเจนหรือไม่:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.1.8.RELEASE)

... ทิ้งใน STDOUT ทุกครั้งที่คุณเรียกใช้แอปสปริงบูต?

ฉันเปลี่ยนการบันทึกทั้งหมดเป็น ERROR ใน logback.xml ของฉัน แต่ไม่ได้ทำอะไรเลย:

<root level="ERROR">
    <appender-ref ref="STDOUT" />
</root>

แก้ไข: ไม่เรียกว่า "โลโก้" ในเอกสาร ข้อความค้นหาที่ใช้งานง่ายคือ "แบนเนอร์"


2
เพิ่มspring.main.show_banner=falseลงใน application.properties ของคุณ
M. Deinum

2
มีการกล่าวว่า "spring.main.show_banner = false" เลิกใช้งานแล้ว
mxi1

คำตอบ:


143

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-banner

new SpringApplicationBuilder()
    .showBanner(false)
    .sources(Parent.class)
    .child(Application.class)
    .run(args);

แก้ไข ใน Spring boot เวอร์ชันใหม่กว่า (ปัจจุบันคือ 1.3.3) วิธีการทำคือ:

1) application.properties

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) วิธีการหลัก

public static void main(String[] args) {
    SpringApplication app = new SpringApplication(MySpringConfiguration.class);
    app.setBannerMode(Banner.Mode.OFF);
    app.run(args);
}

เอกสาร

แก้ไข:

หากต้องการเปลี่ยนตัวแปรนี้ด้วยและสภาพแวดล้อมให้ใช้คุณสมบัติที่มีขีดล่างแทนจุด ลอง:

SPRING_MAIN_BANNER-MODE = ปิด

ดูเอกสารสำหรับการกำหนดค่าภายนอก


1
สมบูรณ์แบบ. ฉันใช้ Google เอกสารเกี่ยวกับ "โลโก้" อย่างเมามัน แต่มันเรียกว่าแบนเนอร์ ขอบคุณครับ!
Fabien Benoit-Koch

5
มันดีมาก - ตอนนี้พวกเราทุกคนที่ค้นหาโลโก้พบหน้านี้ (;
Traubenfuchs

1
ควรเป็นnew SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)ตามที่ showBanner เลิกใช้แล้ว
Ondrej Skalicka

อะไรคือตัวแปรสภาพแวดล้อมที่เทียบเท่ากับสิ่งนี้? ฉันไม่สามารถเข้าถึงแอป spring boot ได้โดยตรง (เป็นภาพนักเทียบท่า) ดังนั้นฉันจึงตั้งค่าคุณสมบัติสปริงผ่าน env vars
batjko

สำหรับตัวแปรสภาพแวดล้อมฉันขอแนะนำ "SPRING_MAIN_BANNER_MODE" โดยใช้ขีดล่างแทน "-" ในกรณีที่เซิร์ฟเวอร์ไม่รองรับการขีดคั่นในตัวแปรสภาพแวดล้อม
pconrey

29

อีกทางเลือกหนึ่งคือการเพิ่มแบนเนอร์ที่กำหนดเองในไฟล์banner.txtไปยัง classpath ของคุณซึ่งจะเปลี่ยนเป็นแบนเนอร์แบบกำหนดเองของคุณ

  1. สร้างไฟล์banner.txtใน classpath (เช่น: src / main / resources )
  2. แก้ไขแบนเนอร์ที่คุณกำหนดเอง
  3. เรียกใช้แอปพลิเคชัน

4
และหากทำเช่นนี้เครื่องมือเหล่านี้อาจมีประโยชน์: google.ca/search?q=ascii+text+generator
Raman

13

สิ่งนี้มีการเปลี่ยนแปลงเล็กน้อยใน Spring Boot 1.3 ตอนนี้คุณสมบัติคือ:

spring.main.banner_mode=off

ในรหัสตอนนี้คือ:

springApplication.setBannerMode(Banner.Mode.OFF);

หรือใช้ตัวสร้าง:

new SpringApplicationBuilder()
.bannerMode(Banner.Mode.OFF)

9

คุณสามารถตั้งค่าspring.main.show_banner=falseในของคุณapplication.propertiesตามที่อธิบายในhttp://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html


5

หากคุณใช้ Spring Boot 1.3 และ application.yml (ไม่ใช่คุณสมบัติ) คุณจะต้องพูดถึง 'OFF' เช่น

spring:
  main:
    banner_mode: 'OFF'

3

ในการลบสิ่งนี้:

1) spring.main.banner-mode=off

เพิ่มบรรทัดด้านบนในไฟล์

application.properties

หรือ

2) ใช้สิ่งนี้ในคลาส Java หลัก

setBannerMode(Banner.Mode.OFF);

หรือ

3) ไฟล์ในแอป * .yml

spring:
        main :
               banner-mode=off

ผู้ใช้ลิงก์นี้เพื่อดูรายละเอียดเพิ่มเติม

http://mytechnologythought.blogspot.com/2017/07/how-to-remove-spring-boot-banner.html


2

สร้างไฟล์ "application.yml" ภายใต้ src / main / resources "และวางโค้ดด้านล่างซึ่งจะได้ผล

spring:
    main:
        banner-mode: "off"

0

คุณสามารถใช้รหัสนี้เพื่อลบแบนเนอร์

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication


public class SpringBootConsoleApplication {

    public static void main(String[] args) throws Exception {

        SpringApplication app = new SpringApplication(SpringBootConsoleApplication.class);
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);

    }

}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.