.NET 5 application insights 没有显示我的异常堆栈跟踪?
.NET 5 application insights is not showing my exception stack trace?
我有一个 .NET 5 Web 应用程序,并且配置了应用程序洞察。
当我的应用程序中出现错误时,我可以在 Azure 门户中看到它,但我没有看到任何堆栈跟踪
我安装了两个 nuget 包:
在我的初创公司中:
services.AddApplicationInsightsTelemetry();
我什至尝试按照 here
所述在我的 program.cs 中配置日志记录
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.AddApplicationInsights();
logging.AddFilter<ApplicationInsightsLoggerProvider>(string.Empty, LogLevel.Trace);
})
我错过了什么?
好吧,我还在摆弄这个,但根据文档 here
"应用程序处理的所有异常仍需要手动跟踪。"
这意味着如果您编写自己的异常处理程序,您仍然必须自己将异常和堆栈跟踪发送到 application insights。
例如
要么抛出原始异常
catch (Exception e)
{
throw;
}
或者使用 Ilogger 和 LogError 自己发送异常:
catch (Exception e)
{
_logger.LogError(e, "message here");
return BadRequest(e.ToString());
}
我有一个 .NET 5 Web 应用程序,并且配置了应用程序洞察。 当我的应用程序中出现错误时,我可以在 Azure 门户中看到它,但我没有看到任何堆栈跟踪
我安装了两个 nuget 包:
在我的初创公司中:
services.AddApplicationInsightsTelemetry();
我什至尝试按照 here
所述在我的 program.cs 中配置日志记录 Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.AddApplicationInsights();
logging.AddFilter<ApplicationInsightsLoggerProvider>(string.Empty, LogLevel.Trace);
})
我错过了什么?
好吧,我还在摆弄这个,但根据文档 here "应用程序处理的所有异常仍需要手动跟踪。"
这意味着如果您编写自己的异常处理程序,您仍然必须自己将异常和堆栈跟踪发送到 application insights。
例如
要么抛出原始异常
catch (Exception e)
{
throw;
}
或者使用 Ilogger 和 LogError 自己发送异常:
catch (Exception e)
{
_logger.LogError(e, "message here");
return BadRequest(e.ToString());
}