¿Cómo deshabilitar el logotipo de arranque de primavera en stdout?

88

¿Hay alguna manera de deshabilitar el hermoso pero muy visible logotipo de arranque ASCII Spring?

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

... descargado en STDOUT cada vez que ejecuta una aplicación de arranque de primavera?

Cambié todos los registros a ERROR en mi logback.xml, pero eso no hizo nada:

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

editar: No se llama "Logotipo" en la documentación. El término apto para búsquedas es un "banner".

Fabien Benoit-Koch
fuente
2
Agregue spring.main.show_banner=falsea su application.properties.
M. Deinum
2
se dice que "spring.main.show_banner = false" ha quedado obsoleto
mxi1

Respuestas:

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

Editar En las versiones más recientes de Spring Boot (la actual es 1.3.3), la forma de hacerlo es:

1) application.properties

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) método principal

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

Docs

Editar:

Para cambiar esto con una variable de entorno, use la propiedad con guión bajo en lugar de punto. Tratar:

SPRING_MAIN_BANNER-MODE = desactivado

Consulte los documentos para la configuración externa.

Evgeni Dimitrov
fuente
1
Perfecto. Estaba buscando frenéticamente en Google los documentos sobre un "logotipo", pero se llama banner. Bueno, gracias !
Fabien Benoit-Koch
5
Aunque es bueno, ahora todos los que buscamos un logotipo encontramos esta página (;
Traubenfuchs
1
debería ser new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)como showBanner ahora está en desuso
Ondrej Skalicka
¿Cuál es la variable de entorno equivalente a esto? No tengo acceso a la aplicación de arranque de primavera directamente (es una imagen de la ventana acoplable), por lo que estoy configurando las propiedades de primavera a través de env vars.
batjko
Para una variable de entorno, recomendaría "SPRING_MAIN_BANNER_MODE", con un guión bajo en lugar de un "-", en caso de que el servidor no admita guiones en las variables de entorno.
pconrey
28

Otra opción es agregar un banner personalizado en un archivo banner.txt a su classpath, que cambiará a su banner personalizado.

  1. crear un archivo banner.txt en la ruta de clase (es decir: src / main / resources )
  2. Edita tu banner personalizado
  3. Ejecutar la aplicación
Leonardo Dias
fuente
4
Y si hace esto, estas herramientas pueden ser útiles: google.ca/search?q=ascii+text+generator
Raman
13

Esto ha cambiado ligeramente en Spring Boot 1.3. La propiedad ahora es:

spring.main.banner_mode=off

En código, ahora es:

springApplication.setBannerMode(Banner.Mode.OFF);

o usando el constructor:

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

Si está utilizando Spring Boot 1.3 y application.yml (no propiedades), debe citar el 'OFF', es decir

spring:
  main:
    banner_mode: 'OFF'
Robar
fuente
2

cree un archivo "application.yml" en src / main / resources "y pegue el siguiente código. Eso haría el trabajo

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

Puede utilizar este código para eliminar el banner

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
fuente