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

Jetty中特定Java类的Debug日志无法正常输出问题排查

问题诊断与修复方案

我帮你梳理下几个关键的配置错误,这应该就是你看不到DEBUG日志的核心原因:

1. ConsoleAppender的过滤器直接拦截了DEBUG日志

看你的log4j配置里,ConsoleAppender添加了LevelMatchFilter只接受INFO级别,后面还跟着DenyAllFilter——这意味着所有非INFO级别的日志都会被直接拒绝,包括你想要的DEBUG日志。这是最直接、最致命的问题。

2. 日志版本不匹配(Log4j 1.x vs Log4j 2.x)

你启用的Jetty模块是log4j2-slf4j.mod和slf4j-log4j2.mod,这些都是Log4j 2.x相关的绑定组件,但你的配置文件却是Log4j 1.x的格式(引用org.apache.log4j包下的类,用log4j.dtd约束)。两者的配置结构、API完全不同,Jetty加载的Log4j 2.x根本不会识别这个1.x的配置文件。

3. Jetty日志模块冲突

你同时启用了log4j2-slf4j.mod和slf4j-log4j2.mod,这两个是互斥的绑定器:

  • slf4j-log4j2是让SLF4J API用Log4j 2.x作为底层日志实现
  • log4j2-slf4j是让Log4j 2.x的API转接到SLF4J
    同时启用会导致日志链路混乱,必须二选一。

修复步骤

第一步:清理Jetty冲突模块

先移除互斥的模块,保留正确的绑定关系:

java -jar start.jar --remove-from-start=log4j2-slf4j.mod

确保最终启用的日志模块为:slf4j-api.mod, logging-slf4j.mod, slf4j-log4j2.mod

第二步:替换为Log4j 2.x格式的配置文件

删除旧的log4j.xml,创建log4j2.xml(Log4j 2.x的标准配置文件名),内容如下(适配你的需求):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <!-- 控制台输出Appender -->
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%-5p %c{1} - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <!-- 配置Hikari的DEBUG日志 -->
        <Logger name="com.zaxxer.hikari" level="DEBUG" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <!-- 根日志级别 -->
        <Root level="ERROR">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

注意:这里去掉了原来的过滤器,这样DEBUG日志就能正常输出到控制台了。如果需要过滤特定级别,可以用Log4j 2.x的ThresholdFilter或者LevelFilter,不要用1.x的老过滤器类。

第三步:验证配置位置

确保log4j2.xml放在以下位置之一:

  • 项目的src/main/resources目录(打包后会在WAR的WEB-INF/classes下)
  • Jetty的resources目录(全局配置)

第四步:重启Jetty服务

重新启动Jetty,现在应该能看到com.zaxxer.hikari包下的DEBUG日志输出了。


额外提醒:如果你的Spring MVC项目自己引入了Log4j相关依赖,要确保和Jetty使用的版本一致,避免依赖冲突。比如如果用Log4j 2.x,项目里的依赖应该是log4j-core、log4j-api和slf4j-log4j2,不要混合引入Log4j 1.x的包。

内容的提问来源于stack exchange,提问作者We are Borg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:28:58