Asp.net web api 限制或隐藏发送到Application Insights的数据

Asp.net web api 限制或隐藏发送到Application Insights的数据,asp.net-web-api,system.diagnostics,azure-application-insights,Asp.net Web Api,System.diagnostics,Azure Application Insights,我们刚刚在WebAPI 2.2应用程序中添加了应用程序见解,它看起来是一个赢家。 但是,我们有一些控制器接收到由于法规遵从性规定而无法存储的敏感信息,即使是在Application Insights中。我们希望捕获某些控制器上的信息级跟踪事件,但不需要捕获或隐藏通过其他控制器发送的信息。有人能提出一种方法来实现这一点吗?由于您使用的是Microsoft.ApplicationInsights.TraceListener软件包,我认为没有任何方法可以直接过滤数据。如果您可以向Trace.Write

我们刚刚在WebAPI 2.2应用程序中添加了应用程序见解,它看起来是一个赢家。
但是,我们有一些控制器接收到由于法规遵从性规定而无法存储的敏感信息,即使是在Application Insights中。我们希望捕获某些控制器上的信息级跟踪事件,但不需要捕获或隐藏通过其他控制器发送的信息。有人能提出一种方法来实现这一点吗?

由于您使用的是Microsoft.ApplicationInsights.TraceListener软件包,我认为没有任何方法可以直接过滤数据。如果您可以向Trace.WriteXxx()调用添加一些特殊的内容,那么一个选项可能是实现并通过ApplicationInsights跟踪编写器的配置注册它


然后在您的中,您可以检查该特殊值(可能是事件ID,可能是跟踪消息中的某个前缀,或者类似的内容),然后简单地返回false以使其被跳过。

我在Azure MS网站上问了同样的问题,并得到了一个效果良好的答复

任何在这里寻找答案的人都应该在那里寻找答案


你能澄清一下这个问题吗?您的意思是不收集针对特定控制器的请求的请求数据吗?或者不收集请求的某些字段?我们正在从所有控制器收集跟踪信息。一些跟踪事件包括json负载。这在某些控制器上很有用,但在其他控制器上,由于我们的法规遵从性要求,负载包含我们不能存储的敏感信息。我们需要一种方法来禁用这些特定事件的应用程序洞察。那么您是指使用Microsoft.ApplicationInsights.TraceListener包吗?是的,正是这样。这是我第一次使用它,所以我仍然在学习术语-道歉:-)谢谢tomasr。我会调查这个想法。那个评论已经不存在了,他们给了你什么回应?是关于吗?嗨,@dgaspa评论是指ApplicationInsights的第1版,这可能是它不再存在的原因。我记不起细节了,自从我发布这个问题以来,我已经换了工作。您提供的链接适用于版本>=2。它看起来应该完全符合我的要求,如果它可用的话,我当时会使用它。如果你的问题和我的相似,这看起来是个不错的选择。