bagaimana cara menonaktifkan logo boot musim semi di stdout?

91

Apakah ada cara untuk menonaktifkan logo boot ASCII Spring yang indah tetapi sangat terlihat:

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

... dibuang di STDOUT setiap kali Anda menjalankan aplikasi boot musim semi?

Saya mengalihkan semua logging ke ERROR di logback.xml saya, tetapi itu tidak melakukan apa pun:

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

edit: Ini tidak disebut "Logo" dalam dokumentasi. Istilah ramah-penelusuran adalah "spanduk".

Fabien Benoit-Koch
sumber
2
Tambahkan spring.main.show_banner=falseke application.properties Anda.
M. Deinum
2
dikatakan bahwa "spring.main.show_banner = false" tidak digunakan lagi
mxi1

Jawaban:

140

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);

Edit Di versi terbaru dari boot musim semi (saat ini adalah 1.3.3) cara untuk melakukannya adalah:

1) properti.aplikasi

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) metode utama

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

Docs

Edit:

Untuk mengubahnya dengan variabel lingkungan dan gunakan properti dengan garis bawah, bukan titik. Mencoba:

SPRING_MAIN_BANNER-MODE = mati

Lihat dokumen untuk konfigurasi eksternal.

Evgeni Dimitrov
sumber
1
Sempurna. Saya dengan panik mencari-cari di Google dokumen tentang "logo", tapi itu disebut spanduk. Baiklah terima kasih !
Fabien Benoit-Koch
5
Ini bagus meskipun -sekarang kita semua yang mencari logo menemukan halaman ini (;
Traubenfuchs
1
seharusnya new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)seperti showBanner sekarang tidak digunakan lagi
Ondrej Skalicka
Apa ekuivalen variabel lingkungan dari ini? Saya tidak memiliki akses ke aplikasi boot musim semi secara langsung (ini adalah gambar buruh pelabuhan) dan jadi saya menyetel properti musim semi melalui env vars.
batjko
Untuk variabel lingkungan, saya akan merekomendasikan "SPRING_MAIN_BANNER_MODE", dengan garis bawah dan bukan "-", jika server tidak mendukung tanda hubung dalam variabel lingkungan.
pconrey
28

Opsi lainnya adalah menambahkan spanduk khusus dalam file banner.txt ke classpath Anda, yang akan berubah menjadi spanduk khusus Anda.

  1. buat file banner.txt di classpath (yaitu: src / main / resources )
  2. Edit spanduk khusus Anda
  3. Jalankan aplikasinya
Leonardo Dias
sumber
4
Dan jika melakukan ini, alat ini mungkin berguna: google.ca/search?q=ascii+text+generator
Raman
13

Ini sedikit berubah di Spring Boot 1.3. Properti ini sekarang:

spring.main.banner_mode=off

Dalam kode, sekarang:

springApplication.setBannerMode(Banner.Mode.OFF);

atau menggunakan pembangun:

new SpringApplicationBuilder()
.bannerMode(Banner.Mode.OFF)
Wim Deblauwe
sumber
5

Jika Anda menggunakan Spring Boot 1.3 dan application.yml (bukan properti) maka Anda perlu mengutip 'OFF' yaitu

spring:
  main:
    banner_mode: 'OFF'
rampok
sumber
2

buat file "application.yml" di bawah src / main / resources "dan tempelkan kode di bawah ini. Itu akan berhasil

spring:
    main:
        banner-mode: "off"
geisterfurz007
sumber
0

Anda dapat menggunakan kode ini untuk menghapus spanduk

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);

    }

}
Usman Yaqoob
sumber