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