问题描述
我使用logback(logback-gelf)登录我的spring boot应用程序。它具有配置xml文件,我尝试编写正则表达式以屏蔽所有包含“密码”的单词。
在配置文件中。我这样写:
%replace(%msg){'(?i)(password"\S+?")(\S+?)(".+)','$1****$3'} //I use (?i) for case insensitiveness
它有效,但仅适用于日志中的一个密码。例如,如果我的日志是这样的:
{"oldPassword":"123456","password":"654321"}
它将转换为:
{"oldPassword":"****","password":"654321"}
我该怎么做?
通过这种方式可以在在线正则表达式测试器上运行,但不能在logback-spring上运行
解决方法
(?i)(password"\S+?")(\S+?)"
这对我有用。
感谢@JvdV的帮助。