我使用Spring的SoapEnvelopeLoggingInterceptor
来记录SOAP请求/响应。
某些请求/响应包含base64Binary
个字段,占用了日志文件中的大量空间,我不需要为了我的目的而记录它。
深入研究SoapEnvelopeLoggingInterceptor
的代码我可以看到使用的java.xml.transform.Transformer
是这样创建的:
Transformer transformer = createTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.INDENT, "no");
return transformer;
我可以在Transformer
上设置一些属性,以防止它打印出base64Binary
字段的内容吗?或者我可以配置或覆盖的任何其他内容以防止它被记录?
答案 0 :(得分:0)
我不知道Transformer,但是我认为Base64字段的大写和小写字母数量大致相等。普通文本往往会有更多小写或全部大写。您可以通过这种方式确定差异。
还有一些标点符号从未出现在Base64中。看到其中任何一个都会告诉你该字段不是Base64。