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

log4j-slf4j2-impl未包含log4j-core?两款slf4j-impl依赖scope差异是否为设计意图

log4j-slf4j-impl与log4j-slf4j2-impl中log4j-core依赖scope差异说明
  • 你观察到的依赖scope差异属实:log4j-slf4j-impl对log4j-core的依赖scope为runtime,log4j-slf4j2-impl的对应依赖scope则为test,该变更来自关联LOG4J2-2975的指定commit。

  • 关于log4j-slf4j2-impl未将log4j-core设为runtime依赖的设计意图:

    • log4j-slf4j2-impl本质是SLF4J API到Log4j 2 API的桥接适配库,它仅负责完成日志API层面的请求转接,不需要直接依赖Log4j的核心实现逻辑。
    • 将log4j-core的scope设为test,仅用于满足桥接库自身单元测试的日志输出需求,避免强制给引入该桥接库的项目自动添加不必要的runtime依赖——实际的日志核心实现(log4j-core或其他兼容Log4j 2 API的实现)需要由项目使用者根据自身需求主动引入,这是有意的设计决策。
  • 对比log4j-slf4j-impl的设计:它是直接将SLF4J日志请求绑定到Log4j核心实现的适配库,必须在runtime阶段依赖log4j-core才能完成日志功能的落地,因此其scope设为runtime是符合其定位的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:20:20