我正在尝试复制同事在 log4j 下为 logback 实现的一些功能。
本质上,该功能利用 log4j 中的 RewriteAppender 通过过滤掉日志中的敏感信息(由正则表达式模式定义)来隐藏它们。
logback 下是否有类似的机制?
logback 中提供了各种过滤选项:http: //logback.qos.ch/manual/filters.html 这些还包括编写自己的过滤器的能力,然后您可以在其中实现正则表达式过滤 - 如果您只想接受或拒绝记录事件。
如果您打算根据模式更改消息,您可能别无选择,只能实现自己的 Appender 类。
虽然我建议不要将敏感信息交给日志框架。那些甚至根本不应该离开应用程序(当然,只有当您有权访问代码时才有可能)。
编辑:再次检查后(我的脑海中有一些挥之不去的疑问),您也可以在布局模式中使用 %replace 。看看这里的描述:http: //logback.qos.ch/manual/layouts.html#replace。它是基于正则表达式替换部分日志消息,因此可能正是您正在寻找的东西。