如何在标准输出中禁用Spring Boot徽标?


88

有没有一种方法可以禁用可爱但非常明显的ASCII Spring引导徽标:

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

...每次运行spring boot应用程序时都将其丢弃在STDOUT中?

我在logback.xml中将所有日志记录都切换为ERROR,但是却什么也没做:

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

编辑:在文档中它不称为“徽标”。搜索友好术语是“横幅”。


2
添加spring.main.show_banner=false到您的application.properties。
M. Deinum 2014年

2
据说“ spring.main.show_banner = false”已被弃用
mxi1'2

Answers:


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

编辑 在较新版本的spring boot(当前版本为1.3.3)中,实现方法是:

1)application.properties

spring.main.banner-mode=off

2)application.yml

spring:
    main:
        banner-mode: "off"

3)主要方法

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

文件

编辑:

要使用和环境变量更改此属性,请使用带下划线而不是点的属性。尝试:

SPRING_MAIN_BANNER-MODE =关闭

有关外部化配置,请参阅文档


1
完善。我当时正在疯狂地搜索有关“徽标”的文档,但它被称为横幅。好,谢谢!
Fabien Benoit-Koch 2014年

5
很好-现在我们所有人都在搜索徽标找到此页面(;
Traubenfuchs

1
应该是new SpringApplicationBuilder().bannerMode(Banner.Mode.OFF)因为showBanner现在已弃用
Ondrej Skalicka,2013年

什么是环境变量等效项?我无权直接访问spring boot应用程序(这是一个docker映像),因此我通过env vars设置spring属性。
batjko

对于环境变量,如果服务器不支持环境变量中的破折号,我建议您使用带下划线的“ SPRING_MAIN_BANNER_MODE”而不是“-”。
pconrey

28

另一种选择是将banner.txt文件中的自定义横幅添加到您的类路径,该路径将更改为自定义横幅。

  1. 在类路径中创建文件banner.txt(即:src / main / resources
  2. 编辑您的自定义横幅
  3. 运行应用程序

4
如果这样做,这些工具可能会有用:google.ca/search?
Raman

13

在Spring Boot 1.3中,此更改略有变化。该属性现在是:

spring.main.banner_mode=off

在代码中,现在是:

springApplication.setBannerMode(Banner.Mode.OFF);

或使用构建器:

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


5

如果您使用的是Spring Boot 1.3和application.yml(不是属性),则需要引用“ OFF”,即

spring:
  main:
    banner_mode: 'OFF'

2

在src / main / resources下创建文件“ application.yml”,然后粘贴以下代码。

spring:
    main:
        banner-mode: "off"


0

您可以使用此代码删除横幅

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

    }

}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.