You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:Spring Tool Suite 4控制台大量打印线程日志,无法查看自定义输出

解决Spring Tool Suite 4中Spring Boot应用无关日志刷屏问题

我太懂这种控制台被一堆无关日志淹没、根本找不到自己代码输出的烦躁了——之前调试项目时也碰到过一模一样的情况,给你几个亲测有效的解决办法:

  • 调整Spring Boot核心日志配置
    这是最直接的方案,在项目的application.properties(或application.yml)里添加日志级别控制:

    # 把全局根日志级别设为WARN,过滤掉大部分Debug/Info级别的无关日志
    logging.level.root=WARN
    # 把你自己代码所在的包设为INFO(或DEBUG,看你需要),确保自己的输出能显示
    logging.level.com.yourproject.yourpackage=INFO
    

    替换com.yourproject.yourpackage为你实际的代码包路径就行,这样既能屏蔽大部分框架、第三方库的冗余日志,又能保留自己代码的输出。

  • 利用STS控制台的过滤功能
    STS的Console视图右上角有个漏斗形状的「Filter」按钮,点击后可以设置过滤规则:

    • 如果你想排除特定前缀的日志,比如Spring框架的日志,可以输入正则表达式^(?!.*org.springframework).*$,这样就会隐藏所有以org.springframework开头的日志条目;
    • 也可以直接输入你自己代码输出里的关键词(比如你的类名、自定义的日志前缀),让控制台只显示包含这些关键词的内容,精准定位自己的输出。
  • 检查并清理多余的日志依赖
    有时候项目依赖里会引入额外的日志组件或自动配置,导致日志输出泛滥。你可以用STS的依赖分析工具排查:
    右键项目 → 「Run As」→ 「Maven Dependency Analyzer」(Maven项目),查看是否有重复或不必要的日志相关依赖(比如log4j-over-slf4j这类冲突包),找到后在pom.xml里用<exclusions>标签排除掉。

  • 自定义Logback日志配置(进阶方案)
    如果需要更精细的日志控制,比如不同包用不同输出格式、单独输出到文件等,可以在src/main/resources下新建logback-spring.xml,示例配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
        <!-- 自定义自己代码包的日志级别 -->
        <logger name="com.yourproject.yourpackage" level="INFO" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>
        <!-- 全局其他日志设为WARN级别 -->
        <root level="WARN">
            <appender-ref ref="CONSOLE"/>
        </root>
    </configuration>
    

    这个配置能完全掌控哪些日志显示、哪些隐藏,灵活性拉满。

内容的提问来源于stack exchange,提问作者sagar limbu

火山引擎 最新活动