使用log4j通过注释屏蔽敏感数据



我在Spring Boot项目中使用log4j2。当日志事件发生时,我想使用注释屏蔽DTO中的敏感数据,例如:

@Sensitive(fields = {password, email})
public class MyDTO {
private String name;
private String email;
private String password
}

我希望有机会在注释道具中设置要屏蔽的字段。

我试图为此使用自定义序列化器,但我不想在每次序列化DTO时都屏蔽数据,只有在日志事件发生时才屏蔽数据。

我试图应用RewritePolicy,但在这种情况下,我已经有日志消息作为字符串,我不能访问类来抓取注释参数,以知道哪些字段应该被屏蔽。

在调用myDto.toString()方法之前处理日志事件,从类中获取注释,在设置日志消息之前检查要屏蔽和替换的字段。

你能帮帮我吗?

我也看起来像一样…有额外的要求,如mobileNumber字段,我们必须屏蔽前5个字符

据我所知

我们可以使用log4j配置文件屏蔽字段。https://objectpartners.com/2017/09/26/masking-sensitive-data-in-log4j-2/

相关内容

  • 没有找到相关文章

最新更新