您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Logback屏蔽密码?

使用Logback屏蔽密码?

0.9.27版本的logback引入了替换功能。替换支持正则表达式。例如,如果记录的消息是“ userid = alice,pswd =’my secret’”,并且输出模式为

  "%d [%t] $logger - %msg%n",

您只需将模式修改

 "%d [%t] $logger - %replace(%msg){"pswd='.*'", "pswd='xxx'"}%n"

请注意,以上内容使用了选项引用

先前的日志消息将输出为“ userid = alice,pswd =’xxx’”

为了获得出色的性能,您还可以将日志语句标记为CONFIDENTIAL,并指示%replace仅执行替换为标记为CONFIDENTIAL的日志语句。例,

 Marker confidential = MarkerFactory.getMarker("CONFIDENTIAL");
 logger.info(confidential, "userid={}, password='{}'", userid, password);

不幸的是,当前版本的logback尚不支持条件替换(基于标记或其他方式)。但是,您可以通过扩展ReplacingCompositeConverter轻松编写自己的替换代码。如果您需要进一步的帮助,请在登录用户邮件列表中大喊大叫。

其他 2022/1/1 18:26:18 有429人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶