как отфильтровать адрес электронной почты в конфигурации log4j2 при весенней загрузке - PullRequest
1 голос
/ 21 мая 2019

Я пытаюсь настроить log4j2 в моем приложении весенней загрузки. Я не хочу регистрировать сообщение, если в журнале есть какие-то «высокочувствительные», «чувствительные» и «конфиденциальные» данные, такие как токен, номер телефона, электронная почта, которые являются динамическими, а также некоторые статические слова, такие как имя, фамилия, авторизация и т. Д. , Здесь ниже мой конфиг

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

Я пробовал это

RegexFilter:
    regex: "(?si).*(Bearer|Authorization: Basic|X-Api-Key|X-Auth|Cookie|firstName|lastName|taxId|phone|email).*"
    onMatch: "DENY"
    onMismatch: "NEUTRAL"
    useRawMsg: true

Но это отфильтрует слова, совпадающие с регулярным выражением, только если они есть в журнале, но не по фактическому адресу электронной почты.

попробовал этот тоже не сработало :(

regex: ".*^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$.*"

1 Ответ

0 голосов
/ 21 мая 2019

Попробуйте это регулярное выражение:

^\w+([.]\w+)*@\w+([.]\w+)+$

например: (из веб-тест регулярного выражения )

enter image description here

...