Wie deaktiviere ich das Spring Boot Logo in stdout?

85

Gibt es eine Möglichkeit, das schöne, aber gut sichtbare ASCII Spring Boot-Logo zu deaktivieren:

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

... jedes Mal, wenn Sie eine Spring Boot App ausführen, in STDOUT abgeladen?

Ich habe die gesamte Protokollierung in meiner logback.xml auf ERROR umgestellt, aber das hat nichts bewirkt:

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

Bearbeiten: In der Dokumentation wird es nicht als "Logo" bezeichnet. Der suchfreundliche Begriff ist ein "Banner".

Fabien Benoit-Koch
quelle
2
Fügen Sie spring.main.show_banner=falseIhrer application.properties hinzu.
M. Deinum
2
Es wird gesagt, dass "spring.main.show_banner = false" veraltet ist
mxi1

Antworten:

132

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

Bearbeiten In den neueren Versionen von Spring Boot (aktuell ist 1.3.3) ist die Vorgehensweise wie folgt:

1) Anwendungseigenschaften

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) Hauptmethode

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

Docs

Bearbeiten:

Um dies mit und umgebungsvariable zu ändern, verwenden Sie die Eigenschaft mit Unterstrich anstelle von Punkt. Versuchen:

SPRING_MAIN_BANNER-MODE = aus

Informationen zur externen Konfiguration finden Sie in den Dokumenten .

Evgeni Dimitrov
quelle
Perfekt. Ich habe die Dokumente verzweifelt über ein "Logo" gegoogelt, aber es heißt Banner. Nun, danke!
Fabien Benoit-Koch
4
Es ist aber gut
jetzt
1
sollte sein new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)wie showBanner ist jetzt veraltet
Ondrej Skalicka
Was entspricht der Umgebungsvariablen? Ich habe keinen direkten Zugriff auf die Spring Boot App (es ist ein Docker-Image) und stelle daher die Spring-Eigenschaften über env vars ein.
Batjko
Für eine Umgebungsvariable würde ich "SPRING_MAIN_BANNER_MODE" mit einem Unterstrich anstelle eines "-" empfehlen, falls der Server keine Bindestriche in Umgebungsvariablen unterstützt.
Pconrey
28

Eine weitere Option ist das Hinzufügen eines benutzerdefinierten Banners in einer banner.txt- Datei zu Ihrem Klassenpfad, das sich in Ihr benutzerdefiniertes Banner ändert.

  1. Erstellen Sie eine Datei banner.txt im Klassenpfad (dh: src / main / resources ).
  2. Bearbeiten Sie Ihr benutzerdefiniertes Banner
  3. Führen Sie die Anwendung aus
Leonardo Dias
quelle
4
Und wenn Sie dies tun, könnten diese Tools nützlich sein: google.ca/search?q=ascii+text+generator
Raman
13

Dies hat sich in Spring Boot 1.3 geringfügig geändert. Die Eigenschaft ist jetzt:

spring.main.banner_mode=off

Im Code ist es jetzt:

springApplication.setBannerMode(Banner.Mode.OFF);

oder mit dem Builder:

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

Wenn Sie Spring Boot 1.3 und application.yml (keine Eigenschaften) verwenden, müssen Sie das 'OFF' angeben, d. H.

spring:
  main:
    banner_mode: 'OFF'
rauben
quelle
2

Erstellen Sie eine Datei "application.yml" unter src / main / resources "und fügen Sie den folgenden Code ein. Dies würde den Job erledigen

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

Mit diesem Code können Sie Banner entfernen

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
quelle