gpt4 book ai didi

azure - ASP.NET Core 2.1 应用程序启动失败时在 Application Insights 中创建错误

转载 作者:行者123 更新时间:2023-12-02 08:31:02 27 4
gpt4 key购买 nike

我在 ASP.NET Core 2.1 REST 后端中使用 Application Insights,它可以很好地跟踪正常执行期间的错误。但是,当我在应用程序启动过程中遇到问题(例如缺少配置)时,进程会崩溃,并且异常会出现在 II 中,并显示通用错误页面。

我发现我可以通过设置环境变量 ASPNETCORE_CAPTURESTARTUPERRORS 来控制此行为,如所述 here获取详细的错误页面。

但我希望在应用程序洞察中跟踪此详细错误,并最终在发生此类错误时控制应用程序的可用性设置。

有人知道如何实现这个目标吗?

最佳答案

更新0416:添加op提供的解决方案:

通过包装CreateWebHostBuilder(args).Build().Run();try/catch阻止并直接使用 TelemetryClient 发送异常.

<小时/>

更新:

对于ASP.NET core 2.1来说,是可以的(经过我这边验证,注意:这里不需要使用ILogger,它可以自动收集program.cs或startup.cs中未处理的异常)。您可以在Program.cs中添加以下代码:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(
builder =>
{

builder.AddApplicationInsights("ikey");

builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
(typeof(Program).FullName, LogLevel.Trace);

builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
(typeof(Startup).FullName, LogLevel.Trace);
}
);

更多详情可以引用这个article .

<小时/>

原始答案:

不幸的是,log errors during startup不支持。

这是official doc ,它指出:

有许多情况是异常过滤器无法处理的。例如:

1. Controller 构造函数抛出异常。

2.消息处理程序抛出异常。

3.路由过程中抛出异常。

4.响应内容序列化时抛出异常。

5.应用程序启动时抛出异常。

6.后台任务抛出异常。

关于azure - ASP.NET Core 2.1 应用程序启动失败时在 Application Insights 中创建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61010750/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com