jak wyłączyć logo Spring Boot w stdout?

88

Czy istnieje sposób na wyłączenie uroczego, ale bardzo widocznego logo startowego ASCII Spring:

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

... porzucane do STDOUT za każdym razem, gdy uruchamiasz aplikację rozruchową na wiosnę?

Zmieniłem wszystkie logowanie na ERROR w moim logback.xml, ale to nic nie dało:

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

edycja: W dokumentacji nie nazywa się to „Logo”. Terminem przyjaznym dla wyszukiwania jest „baner”.

Fabien Benoit-Koch
źródło
2
Dodaj spring.main.show_banner=falsedo pliku application.properties.
M. Deinum,
2
mówi się, że „spring.main.show_banner = false” zostało wycofane
mxi1

Odpowiedzi:

136

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

Edycja W nowszych wersjach Spring Boot (obecnie 1.3.3) sposób to zrobić:

1) application.properties

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) główna metoda

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

Dokumenty

Edytować:

Aby to zmienić za pomocą zmiennej środowiskowej i, użyj właściwości z podkreśleniem zamiast kropki. Próbować:

SPRING_MAIN_BANNER-MODE = wył

Zobacz dokumentację konfiguracji zewnętrznej.

Evgeni Dimitrov
źródło
1
Idealny. Gorączkowo wyszukiwałem w Google dokumenty dotyczące „logo”, ale nazywa się to banerem. Dziękuję !
Fabien Benoit-Koch
5
Ale to dobrze - teraz wszyscy szukając logo, znajdujemy tę stronę (;
Traubenfuchs
1
powinien być taki, new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)jak showBanner jest teraz przestarzały
Ondrej Skalicka
Jaki jest odpowiednik tego w zmiennej środowiskowej? Nie mam bezpośredniego dostępu do aplikacji rozruchowej sprężyny (jest to obraz platformy Docker), dlatego ustawiam właściwości sprężyny za pomocą zmiennych środowiska.
batjko
W przypadku zmiennej środowiskowej zalecałbym „SPRING_MAIN_BANNER_MODE” z podkreśleniem zamiast „-”, na wypadek gdyby serwer nie obsługiwał myślników w zmiennych środowiskowych.
pconrey
28

Inną opcją jest dodanie niestandardowego banera w pliku banner.txt do ścieżki klasy, który zmieni się w niestandardowy baner.

  1. utwórz plik banner.txt w ścieżce klas (np .: src / main / resources )
  2. Edytuj własny baner
  3. Uruchom aplikację
Leonardo Dias
źródło
4
A jeśli to zrobisz, te narzędzia mogą być przydatne: google.ca/search?q=ascii+text+generator
Raman,
13

Zmieniło się to nieco w Spring Boot 1.3. Nieruchomość jest teraz:

spring.main.banner_mode=off

W kodzie jest to teraz:

springApplication.setBannerMode(Banner.Mode.OFF);

lub używając kreatora:

new SpringApplicationBuilder()
.bannerMode(Banner.Mode.OFF)
Wim Deblauwe
źródło
5

Jeśli używasz Spring Boot 1.3 i application.yml (nie właściwości), musisz zacytować 'OFF', tj

spring:
  main:
    banner_mode: 'OFF'
Obrabować
źródło
2

utwórz plik „application.yml” pod src / main / resources ”i wklej poniższy kod. To wystarczy

spring:
    main:
        banner-mode: "off"
geisterfurz007
źródło
0

Możesz użyć tego kodu, aby usunąć baner

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
źródło