使用regex屏蔽敏感日志



我试图通过在logback.xml文件中链接replace regex来屏蔽日志。

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

它是有效的,但是有没有其他的regex解决方案来代替regex替换链接?

我们可以像这样使用regex吗?

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

我试过上面的,但格式不合适。

所需输出为:

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

您可以使用

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

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

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

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

请参阅regex演示。

最新更新