如何定义正则表达式 "password":"[123456]" 用于屏蔽
How to define regex "password":"[123456]" for masking
我使用 logback(logback-gelf vs.1.1.0)登录我的 spring 启动应用程序。它有配置 xml 文件,我尝试在这个配置文件中编写正则表达式来屏蔽密码。我这样写:
%replace(%msg){'(password...)(\d{6})(.)', '****'}
它与 {"password":"123456"}
一起工作并给出输出 {"password":"****"}
。
但是,它不能用于:
{"client_id":["account"],"password":["111111"],"grant_type":["password"]}
我想做到{"client_id":["account","password":["****"],"grant_type":["password"]}
我该怎么做?
你的正则表达式的问题是它总是考虑字符串 "password" 和实际密码之间的 3 个字符。
改为这样做:
%replace(%msg){'(password"\S+?")(\S+?)(".+)', '****'}
我使用 logback(logback-gelf vs.1.1.0)登录我的 spring 启动应用程序。它有配置 xml 文件,我尝试在这个配置文件中编写正则表达式来屏蔽密码。我这样写:
%replace(%msg){'(password...)(\d{6})(.)', '****'}
它与 {"password":"123456"}
一起工作并给出输出 {"password":"****"}
。
但是,它不能用于:
{"client_id":["account"],"password":["111111"],"grant_type":["password"]}
我想做到{"client_id":["account","password":["****"],"grant_type":["password"]}
我该怎么做?
你的正则表达式的问题是它总是考虑字符串 "password" 和实际密码之间的 3 个字符。
改为这样做:
%replace(%msg){'(password"\S+?")(\S+?)(".+)', '****'}