Class LogSanitizer
java.lang.Object
io.github.theword.queqiao.core.utils.LogSanitizer
日志脱敏工具
纯逻辑组件:不依赖网络、线程与全局状态,可独立单元测试。
用途:把可能包含敏感信息的 JSON 文本转换为可安全写入日志的形式——
- 按字段名脱敏(
token/password/authorization等,递归处理嵌套对象与数组) - 按长度截断
能力边界:脱敏是"按已知字段名"的尽力而为。字段名不在清单内的敏感内容无法被识别, 因此长度截断是最后一道兜底,不应被移除。
本类在任何输入下都不抛异常——日志路径上的工具一旦抛异常会掩盖真正的问题。
- Since:
- 0.6.11
-
Field Summary
Fields -
Method Summary
-
Field Details
-
DEFAULT_MAX_LENGTH
public static final int DEFAULT_MAX_LENGTH默认最大输出长度- See Also:
-
-
Method Details
-
sanitize
脱敏并截断(使用默认长度上限)- Parameters:
rawJsonMessage- 原始文本,允许为 null- Returns:
- 可安全写入日志的文本
-
sanitize
脱敏并截断- Parameters:
rawJsonMessage- 原始文本,允许为 nullmaxLength- 输出长度上限,小于 1 时按 1 处理- Returns:
- 可安全写入日志的文本
-