通过跳过一些变量来记录java对象

时间:2017-03-27 08:01:56

标签: java logging password-protection avro

我有一些具有100多个属性的java(avro)对象。其中很少是秘密数据不应该打印在日志上。有没有办法跳过几个属性并打印其余的属性?

1 个答案:

答案 0 :(得分:-2)

您可以使用我的个人实用程序集合(http://stefanfrings.de/bfUtilities/bfUtilities-src.zip)中的ObjectLogger类。它将任何对象的内容打印到字符串,主要用于记录。

String s=new ObjectLogger().addFieldNamesToHide("secret","key").toStringg(anyObject);

private static final ObjectLogger objectLogger=new ObjectLogger().addFieldNamesToHide("secret","key");

String s=objectLogger.toStringg(anyObject);

该类有一些更可配置的选项。如果您使用默认值,那么您可以调用其静态toString()方法而无需new运算符:

String s=ObjectLogger.toString(anyObject);