如何定义用于屏蔽的正则表达式“ password”:“ [123456]”

时间:2020-05-05 11:09:13

标签: regex logging logback spring-logback

我使用logback(logback-gelf vs.1.1.0)登录我的spring boot应用程序。它具有配置xml文件,我尝试在该配置文件中编写正则表达式以屏蔽密码。我这样写:

<RangePicker picker='time' />

它与%replace(%msg){'(password...)(\d{6})(.)', '$1****$3'} 一起使用,并提供输出{"password":"123456"}。 但是,它不能用于:

{"password":"****"}

我想成为{"client_id":["account"],"password":["111111"],"grant_type":["password"]}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的正则表达式的问题在于,它总是在字符串“ password”和实际密码之间考虑3个字符。

改为执行此操作:

%replace(%msg){'(password"\S+?")(\S+?)(".+)', '$1****$3'}

Demo