Apache Storm应用中屏蔽Jersey依赖打印的敏感Token方案
问题:Jersey LoggingFeature输出的敏感Token无法通过Log4j2配置屏蔽
环境与依赖
- 基于Apache Storm 2.3开发的应用
- 包含如下Jersey依赖:
<dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>2.29</version> </dependency>
- 存在第三方依赖库A,该库会隐式调用Jersey Client发起请求
核心问题
- 自身应用的日志可通过
log4j2.xml中的屏蔽配置处理敏感Token,但库A调用产生的日志不受该配置影响,敏感信息仍会被打印 - 经调试确认,相关日志由
jersey-common-2.29.jar内的LoggingFeature类输出,示例日志内容:
org.glassfish.jersey.logging.LoggingInterceptor log INFO: 1 * Sending client request on thread ...*
- 完整触发流程:调用库A的工具函数(传入Token等敏感参数)→ 库A内部发起HTTP请求 → Jersey的LoggingFeature打印包含Token的请求日志
已尝试的解决方案
- 试过多种Log4j2日志屏蔽方案,包括基于Pattern Layout的正则替换、自定义日志Filter等常规手段
- 约束:无法更换日志库,避免对现有日志系统造成影响
内容的提问来源于stack exchange,提问作者rohit sharma
相关产品推荐
相关产品推荐

