comment désactiver le logo de démarrage de printemps dans stdout?

88

Existe-t-il un moyen de désactiver le joli mais très visible logo de démarrage ASCII Spring:

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

... vidé dans STDOUT à chaque fois que vous exécutez une application de démarrage de printemps?

J'ai basculé toute la journalisation sur ERROR dans mon logback.xml, mais cela n'a rien fait:

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

edit: Ce n'est pas appelé un "Logo" dans la documentation. Le terme convivial pour la recherche est une "bannière".

Fabien Benoit-Koch
la source
2
Ajoutez spring.main.show_banner=falseà votre application.properties.
M. Deinum
2
il est dit que "spring.main.show_banner = false" a été obsolète
mxi1

Réponses:

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

Modifier Dans les nouvelles versions de Spring Boot (la version actuelle est la 1.3.3), la façon de le faire est:

1) application.properties

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) méthode principale

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

Docs

Éditer:

Pour changer cela avec une variable d'environnement, utilisez la propriété avec un trait de soulignement au lieu d'un point. Essayer:

SPRING_MAIN_BANNER-MODE = désactivé

Voir la documentation pour la configuration externalisée.

Evgeni Dimitrov
la source
1
Parfait. Je cherchais frénétiquement la documentation sur un "logo", mais ça s'appelle une bannière. Bien merci !
Fabien Benoit-Koch
5
C'est bien, maintenant nous recherchons tous un logo, trouvons cette page (;
Traubenfuchs
1
devrait être new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)comme showBanner est maintenant obsolète
Ondrej Skalicka
Quelle est l'équivalent de la variable d'environnement? Je n'ai pas accès directement à l'application Spring Boot (c'est une image docker) et je définis donc les propriétés du printemps via env vars.
batjko
Pour une variable d'environnement, je recommanderais "SPRING_MAIN_BANNER_MODE", avec un trait de soulignement au lieu d'un "-", au cas où le serveur ne prend pas en charge les tirets dans les variables d'environnement.
pconrey
28

Une autre option consiste à ajouter une bannière personnalisée dans un fichier banner.txt à votre chemin de classe, qui deviendra votre bannière personnalisée.

  1. créer un fichier banner.txt dans le classpath (ie: src / main / resources )
  2. Modifier votre bannière personnalisée
  3. Lancez l'application
Léonard Dias
la source
4
Et si vous faites cela, ces outils pourraient être utiles: google.ca/search?q=ascii+text+generator
Raman
13

Cela a légèrement changé dans Spring Boot 1.3. La propriété est maintenant:

spring.main.banner_mode=off

En code, c'est maintenant:

springApplication.setBannerMode(Banner.Mode.OFF);

ou en utilisant le constructeur:

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

Si vous utilisez Spring Boot 1.3 et application.yml (pas les propriétés), vous devez alors citer le 'OFF' ie

spring:
  main:
    banner_mode: 'OFF'
Rob
la source
2

créez un fichier "application.yml" sous src / main / resources "et collez le code ci-dessous. Cela ferait le travail

spring:
    main:
        banner-mode: "off"
geisterfurz007
la source
0

Vous pouvez utiliser ce code pour supprimer la bannière

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
la source