You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用logback记录org.springframework.web.context.ContextLoader日志

问题根因

你遇到的log4j警告说明项目中Spring的日志请求仍在通过log4j API输出,你配置的logback完全没有接管这部分日志请求,按以下步骤排查即可:


1. 修复依赖冲突,统一日志门面

这是最核心的问题,你需要将项目中所有日志API的调用全部桥接到SLF4J,再由SLF4J绑定到logback实现,避免多套日志实现共存:

  • 排除Spring自带的commons-logging依赖,以及所有log4j相关的实现依赖
  • 新增桥接包jcl-over-slf4j(接管commons-logging调用)、log4j-over-slf4j(接管log4j调用)

Maven配置示例:

<dependencies>
    <!-- 排除Spring原生commons-logging -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>你的Spring版本</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 引入SLF4J桥接包 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.36</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>1.7.36</version>
    </dependency>
    <!-- 确认已引入logback核心依赖 -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.11</version>
    </dependency>
</dependencies>

可以通过mvn dependency:tree(Maven)或gradlew dependencies(Gradle)命令检查项目中是否还存在未排除的log4j、commons-logging实现依赖。


2. 修正logback.xml中的logger配置

logback的logger包匹配不需要加通配符后缀,你当前写的org.springframework.web.context.*无法正确匹配目标类,修改为:

<logger name="org.springframework.web.context" level="INFO" additivity="false">
    <appender-ref ref="STDOUT"/>
    <!-- 如果需要同时输出到文件等其他appender,也可以在这里补充 -->
</logger>

3. 确认logback配置加载正常

  • 非SpringBoot项目:确保logback.xml放在src/main/resources根目录下,或启动时通过JVM参数指定配置路径:-Dlogback.configurationFile=你的logback.xml绝对路径
  • SpringBoot项目:确认未引入spring-boot-starter-log4j2等其他日志实现依赖,默认spring-boot-starter-logging已经内置logback绑定,无需额外配置

完成以上步骤后重启项目,ContextLoader的日志就会正常输出到logback配置的对应appender中,log4j的警告也会消失。


内容的提问来源于stack exchange,提问作者Petr Kostroun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:24:03