首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在spring boot的log4j2配置中过滤电子邮件地址

如何在spring boot的log4j2配置中过滤电子邮件地址
EN

Stack Overflow用户
提问于 2019-05-21 05:35:10
回答 1查看 155关注 0票数 0

我正在尝试在我的spring boot应用程序中配置log4j2。我不想记录的消息,如果有一些“高度敏感”,“敏感”和“机密”的数据,如令牌,电话号码,电子邮件,这是动态的,也有一些静态字,如名字,姓氏,授权。下面是我的配置

代码语言:javascript
运行
复制
Configuration:
  status: info
  name: log4j2YAMLConfig
  ThresholdFilter:
    level: info
  # filter out "Highly Sensitive", "Sensitive", and "Confidential" data
  RegexFilter:
    regex: "(?si).*(Bearer|Authorization: Basic|X-Api-Key|X-Auth|Cookie|firstName|lastName|taxId|phone|email).*"
    onMatch: "DENY"
    onMismatch: "NEUTRAL"
    useRawMsg: true
  appenders:
    RollingFile:
      name: fileAppender
      fileName: "/app/logs/my-admin-web=${env:xxx}.log"
      filePattern: "/app/logs/my-admin-web-${env:xxx}-%i.log"
      bufferedIO: false
      PatternLayout:
        Pattern: "DateTime=%d{ISO8601}{GMT} Application=my-admin-web-${env:xxx} Thread=[%.30t] Logger=%c Type=%p RequestInfo=%X Message=%m%n"
      Policies:
        SizeBasedTriggeringPolicy:
          size: "1 MB"

  Loggers:
    Root:
      level: info
      AppenderRef:
        -
          ref: fileAppender
          level: debug
        -
          ref: fileAppender
          level: info
        -
          ref: fileAppender
          level: warn
        -
          ref: fileAppender
          level: error
    Logger:
      -
        name: com.home.www.abc.travel.admin.web.controllers.InvoiceController.successfulPayment
        additivity: false
        level: info
        AppenderRef:
          -
            ref: fileAppender
            level: debug
          -
            ref: fileAppender
            level: info
          -
            ref: fileAppender
            level: warn
          -
            ref: fileAppender
            level: error

我试过了

代码语言:javascript
运行
复制
RegexFilter:
    regex: "(?si).*(Bearer|Authorization: Basic|X-Api-Key|X-Auth|Cookie|firstName|lastName|taxId|phone|email).*"
    onMatch: "DENY"
    onMismatch: "NEUTRAL"
    useRawMsg: true

但这只会过滤掉匹配正则表达式的单词,如果它在日志中,而不是通过实际的电子邮件地址。

我试过这个也不管用:

代码语言:javascript
运行
复制
regex: ".*^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$.*"
EN

回答 1

Stack Overflow用户

发布于 2019-05-21 15:08:28

试试这个正则表达式:

代码语言:javascript
运行
复制
^\w+([.]\w+)*@\w+([.]\w+)+$

例如:(来自regex test web)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56228462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档