如何定义正则表达式“密码”:“ [123456]”进行屏蔽

问题描述 投票:1回答:1

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

%replace(%msg){'(password...)(\d{6})(.)', '$1****$3'}

{"password":"123456"}一起使用,并提供输出{"password":"****"}。但是,它不能用于:

{"client_id":["account"],"password":["111111"],"grant_type":["password"]}

我想设为{"client_id":["account","password":["****"],"grant_type":["password"]}

我该怎么做?

regex logging logback spring-logback
1个回答
0
投票

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

改为执行此操作:

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

Demo

© www.soinside.com 2019 - 2024. All rights reserved.