【问题标题】:Masking sensitive logs using regex使用正则表达式屏蔽敏感日志
【发布时间】:2022-01-08 18:38:42
【问题描述】:

我正在尝试通过在 logback.xml 文件中链接替换正则表达式来屏蔽日志。

%replace(%replace(%msg){'"email":(.*?),','"email":"****"'}){'"phone":(.*?),','"phone":"****"'})) 

它正在工作,但是否有任何其他正则表达式解决方案来代替正则表达式替换链?

我们可以使用这样的正则表达式吗?

(%replace(%msg){'"(email|phone)":(:*?)','"***",'}

我试过上面的,但格式不正确。

需要的输出是:

{"email":"****","phone":"****"}

【问题讨论】:

    标签: java regex logging logback


    【解决方案1】:

    你可以使用

    (%replace(%msg){'"(email|phone)":[^,]*,?','"$1":"****"'})
    

    "(email|phone)":[^,]*,? 正则表达式匹配

    • " - 一个 " 字符
    • (email|phone) - 第 1 组 ($1):emailphone 字符串
    • ": - ": 字符串
    • [^,]* - 除逗号之外的零个或多个字符
    • ,? - 一个可选的 , 字符。

    替换为"$1":"****": " + 组 1 值 + ":"***"

    请参阅regex demo

    【讨论】:

    • 工作!!!。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2011-12-19
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多