如何从 WCF (svclog) 的日志中删除 PII?

How to remove PII from Logs in WCF (svclog)?

这与问题直接相关 Personally Identifiable Information (PII), Traces, and MessageLogging。我已经尝试了答案中的解决方案,但这是我发现的问题。

  1. 它不会从响应中删除 PII(个人身份信息),仅在请求中删除。
  2. 不支持 MessageContracts / MessageBodyMember。

可能只是代码确实没有涵盖这一点,或者我缺少一些配置。如果有人有可靠的解决方案来确保 svclog 中的跟踪不包含我标记为 PII 的字段,无论它们是 datacontract 还是 messagecontract?

这是相关 post https://github.com/janmchan/PiiFilter/

中答案的更新代码

最后看来解决方案是创建自定义跟踪侦听器。默认的 wcf Pii 屏蔽用于屏蔽默认的已知 pii,但对于非常具体的字段,自定义跟踪侦听器需要拦截消息本身的记录方式。

这是我制作的自定义跟踪侦听器的演示。 https://github.com/janmchan/CustomTraceListener