Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 防止将特定异常记录到App Insights_C#_Azure_Exception_Azure Application Insights_Appinsights - Fatal编程技术网

C# 防止将特定异常记录到App Insights

C# 防止将特定异常记录到App Insights,c#,azure,exception,azure-application-insights,appinsights,C#,Azure,Exception,Azure Application Insights,Appinsights,这是一个很长的机会,谷歌似乎没有任何进展,但我想知道是否有可能防止某些异常被记录到AppInsights 在我们的代码库中,有很多地方为用户操作引发了异常,而这些用户操作并不是我们希望在应用程序中显示的真正异常 然而,改变所有发生这种情况的区域需要很长时间,并且需要大量的测试,因为我们需要确保逻辑流不会改变 现在我们提出LocationDomainException类型的异常,我想如果我遇到不想记录异常的地方,我们可以改为LocationDomainUserError 我需要停止记录此异常或从其

这是一个很长的机会,谷歌似乎没有任何进展,但我想知道是否有可能防止某些异常被记录到AppInsights

在我们的代码库中,有很多地方为用户操作引发了异常,而这些用户操作并不是我们希望在应用程序中显示的真正异常

然而,改变所有发生这种情况的区域需要很长时间,并且需要大量的测试,因为我们需要确保逻辑流不会改变

现在我们提出LocationDomainException类型的异常,我想如果我遇到不想记录异常的地方,我们可以改为LocationDomainUserError

我需要停止记录此异常或从其继承的任何异常

我正在使用.NETCore3.1

我知道这有点反模式,但有人试过吗?

是的,你可以使用:

公共类CustomTelemetryFilter:ITelemetryProcessor
{
私有只读ITelemetryProcessor\u next;
公共CustomTelemetryFilter(ITelemetryProcessor下一步)
{
_下一个=下一个;
}
公共作废流程(ITelemetry项)
{
//示例:处理除LocationDomainException之外的所有异常
var isSomeException=项目为ExceptionTeletry ex&&ex。异常为LocationDomainException;
如果(!isSomeException)
_next.Process(item);//处理该项
其他的
{
//物品放在这里
}
}
}
使用
services.AddApplicationInsightsTelemetryProcessor()注册处理器

是的,您可以使用:

公共类CustomTelemetryFilter:ITelemetryProcessor
{
私有只读ITelemetryProcessor\u next;
公共CustomTelemetryFilter(ITelemetryProcessor下一步)
{
_下一个=下一个;
}
公共作废流程(ITelemetry项)
{
//示例:处理除LocationDomainException之外的所有异常
var isSomeException=项目为ExceptionTeletry ex&&ex。异常为LocationDomainException;
如果(!isSomeException)
_next.Process(item);//处理该项
其他的
{
//物品放在这里
}
}
}
使用
services.AddApplicationInsightsTelemetryProcessor()注册处理器