限制或模糊发送到 Application Insights 的数据
Restrict or Obscure data sent to Application Insights
我们刚刚将 Application Insights 添加到我们的 WebAPI 2.2 应用程序中,它看起来很成功。
但是,我们有一些控制器接收敏感信息,由于合规性规定,我们无法存储这些信息,即使在 Application Insights 中也是如此。我们希望在我们的一些控制器上捕获信息级别的跟踪事件,但我们不需要在通过其他控制器发送时捕获或隐藏信息。谁能建议我们实现这一目标的方法?
由于您使用的是 Microsoft.ApplicationInsights.TraceListener 包,我认为没有任何方法可以直接过滤数据。如果您可以向 Trace.WriteXxx() 调用添加一些特殊内容,那么一种选择可能是实施 TraceFilter 并通过您的配置为 ApplicationInsights Trace Writer 注册它。
然后在您的 TraceFilter.ShouldTrace() 中,您可以检查该特殊值(可能是事件 ID,可能是跟踪消息中的某些前缀,或类似的东西)并简单地 return false导致它被跳过。
我在 Azure MS 网站上问了同样的问题,得到了很好的答复。
任何想在这里寻找答案的人都应该去那里。
我们刚刚将 Application Insights 添加到我们的 WebAPI 2.2 应用程序中,它看起来很成功。 但是,我们有一些控制器接收敏感信息,由于合规性规定,我们无法存储这些信息,即使在 Application Insights 中也是如此。我们希望在我们的一些控制器上捕获信息级别的跟踪事件,但我们不需要在通过其他控制器发送时捕获或隐藏信息。谁能建议我们实现这一目标的方法?
由于您使用的是 Microsoft.ApplicationInsights.TraceListener 包,我认为没有任何方法可以直接过滤数据。如果您可以向 Trace.WriteXxx() 调用添加一些特殊内容,那么一种选择可能是实施 TraceFilter 并通过您的配置为 ApplicationInsights Trace Writer 注册它。
然后在您的 TraceFilter.ShouldTrace() 中,您可以检查该特殊值(可能是事件 ID,可能是跟踪消息中的某些前缀,或类似的东西)并简单地 return false导致它被跳过。
我在 Azure MS 网站上问了同样的问题,得到了很好的答复。
任何想在这里寻找答案的人都应该去那里。