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

时间:2017-12-06 15:50:00

标签: c# asp.net-core error-handling elmah

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

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

3 个答案:

答案 0 :(得分:7)

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

我可能会将Microsoft.Extensions.Logging与日志框架(如Serilog,NLog或log4net)结合使用。

答案 1 :(得分:0)

尝试使用Elmah的this port到.NET Core。

services.AddElmah(); // in ConfigureServices 

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

答案 2 :(得分:0)

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