隐藏日志文件中的密码、信用卡信息

Shr*_*war 3 log4j spring-boot

我需要屏蔽日志文件中的几个字段。例如信用卡信息或密码。我们有什么直接的方法吗?或者我们必须为日志字段写入任何代码片段来屏蔽这些信用卡信息,以便这些信息将被应用到日志文件中。示例: CreditcardNo:411111111111 应在日志文件中显示为************1111 密码Password123 应在日志中显示为************

我正在使用 log4j 将信息写入日志。

Mar*_*ien 5

您可以通过从 log4j 切换到 Logback 并配置日志记录模式来屏蔽 Spring Boot 记录的敏感数据。

  1. 使用日志回溯。这是Spring Boot 的默认日志记录选项

  2. logging.pattern.file在您的定义中application.properties使用转换词来用掩码替换每个密码出现:

  • 例如logging.pattern.file=%d %replace(%m){"password='.*'", "password='xxx'"}
  • 对于默认的 Spring Boot logback 文件模式]它将是:logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %replace(%m){"password='.*'", "password='xxx'"}%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}