how to disable spring boot logo in stdout?

Is there a way to disable the lovely but very visible ASCII Spring boot logo :

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

...dumped in STDOUT every time your run a spring boot app?

I switched all logging to ERROR in my logback.xml, but that did nothing:

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

edit: It's not called a "Logo" in the documentation. The search-friendly-term is a "banner".


Solution 1:

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 In the newer versions of spring boot(current is 1.3.3) the way to do it is:

1) application.properties

spring.main.banner-mode=off

2) application.yml

spring:
    main:
        banner-mode: "off"

3) main method

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

Docs

Edit:

To change this with and environment variable use the property with underscore instead of dot. Try:

SPRING_MAIN_BANNER-MODE=off

See the docs for externalized config.

Solution 2:

Another option is adding custom banner in a banner.txt file to your classpath, that will change to your custom banner.

  1. create a file banner.txt in the classpath (i.e: src/main/resources)
  2. Edit you custom banner
  3. Run the application

Solution 3:

This has changed slightly in Spring Boot 1.3. The property is now:

spring.main.banner_mode=off

In code, it is now:

springApplication.setBannerMode(Banner.Mode.OFF);

or using the builder:

new SpringApplicationBuilder()
.bannerMode(Banner.Mode.OFF)

Solution 4:

You can set spring.main.show_banner=false in your application.properties as described in http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html.

Solution 5:

If you are using Spring Boot 1.3 and application.yml (not properties) then you need to quote the 'OFF' i.e.

spring:
  main:
    banner_mode: 'OFF'