代码之家  ›  专栏  ›  技术社区  ›  Martin Häusler

Spring引导:如何禁用Tomcat启动日志记录?

  •  1
  • Martin Häusler  · 技术社区  · 6 年前

    我正在使用带Logback的SpringBoot2.0.x。在启动应用程序时(使用嵌入式tomcat),我看到 INFORMATION 日志消息(写入标准错误),这些消息显然直接来自嵌入式tomcat。

    与我所有日志记录的其余部分不同,这些消息似乎不是通过Logback编写的。这些消息包含以下内容:

    Jan 08, 2019 3:13:00 PM org.apache.coyote.AbstractProtocol init
    INFORMATION: Initializing ProtocolHandler ["http-nio-8080"]
    Jan 08, 2019 3:13:00 PM org.apache.catalina.core.StandardService startInternal
    INFORMATION: Starting service [Tomcat]
    Jan 08, 2019 3:13:00 PM org.apache.catalina.core.StandardEngine startInternal
    INFORMATION: Starting Servlet Engine: Apache Tomcat/8.5.34
    Jan 08, 2019 3:13:01 PM org.apache.catalina.core.ApplicationContext log
    INFORMATION: Initializing Spring embedded WebApplicationContext
    

    我对这些都不感兴趣,只是噪音。我该如何处理这些日志?我尝试了各种各样的解决方案,但到目前为止没有任何效果。

    3 回复  |  直到 6 年前
        1
  •  2
  •   Martin Häusler    6 年前

    • Tomcat使用 JULI ,是 java.util.logging
    • JULI本身与 java.util.logging
    • 启动时,嵌入式tomcat将不关心您的任何日志设置(至少我不关心)

    java.util.logging.Logger.getLogger("org.apache").setLevel(java.util.logging.Level.WARNING);
    

    这将指导 java.util.logging

        2
  •  1
  •   Sofo Gial    6 年前

    您可以在中设置以下内容: application.properties :

    logging.group.tomcat=org.apache.catalina, org.apache.coyote, org.apache.tomcat logging.level.tomcat=OFF

    由于嵌入式Tomcat使用JUL,这将把与Tomcat相关的类的JUL日志记录级别设置为 OFF

        3
  •  1
  •   Jeffry Jacob D    5 年前

    在SpringBootApplication像这样启动之前,可以通过将java.util.logging formatter系统属性设置为空字符串来省略Apache juli日志

    System.setProperty(“java.util.logging.SimpleFormatter.format”,”;

        4
  •  0
  •   Kejsi Struga    6 年前

    看这张照片 Loggername

    然后,复制名称并将其前置到 logging.level。 在你身上 应用程序属性

    在下面的屏幕截图中,如果我取消注释 调度员服务 日志记录消失了:

    enter image description here