如何在.net core 中记录未处理的异常

How to log unhandled exception in .net core

借助 Web api 2.0 中的 ELMAH 功能和集中式日志记录和错误处理,运行时调用日志记录模块并决定是否可以处理它,然后调用处理程序,否则只记录它。 如何在 web api 核心中添加此功能。因为我们没有内置的集中式未处理日志记录功能..

我得到的一种方法是使用 ExceptionHandler 中间件,当它被调用时,获取异常并记录它或发送电子邮件..但是如果没有调用处理程序怎么办..如何记录那些未处理的异常?

中间件可能是一种可行的方法。我在这里写了一个指南:Error Logging Middleware in ASP.NET Core.

我可能会考虑 Microsoft.Extensions.Logging 与 Serilog、NLog 或 log4net 等日志框架的结合。

试试 this port 的 Elmah 到 .NET Core。

services.AddElmah(); // in ConfigureServices 

app.UseElmah(); // in Configure, before UseMvc()

如果您已经在使用 Application Insights,则可以在门户中设置警报。 https://docs.microsoft.com/en-us/azure/azure-monitor/learn/tutorial-alert