另一个记录器中的 .Net Core ELMAH 功能?

.Net Core ELMAH functionality in another logger?

鉴于 ELMAH 不会很快移植到 .Net Core:https://github.com/elmah/Elmah/issues/407

是否有人在移植的记录器(Log4Net?)中创建了一个配置,以像 ELMAH 那样提取 HttpResponse 上下文信息?

TL;DR:我不这么认为。

据我所知,none 的 Microsoft.Extensions.Logging 提供商包括来自 HTTP 上下文(请求、响应等)的任何信息。 Microsoft.Extensions.Logging 不是特定于网络的,为什么这种行为有意义。

我已经实现了 ASP.NET 核心中间件,它通过将所有未捕获的异常记录到 elmah.io (not ELMAH): https://github.com/elmahio/Elmah.Io.AspNetCore/blob/master/src/Elmah.Io.AspNetCore/ElmahIoMiddleware.cs 来复制 ELMAH 行为。

如果您想了解更多关于如何构建错误记录中间件的信息,我也写了一篇博客post:Error Logging Middleware in ASP.NET Core。您可以像 post 中解释的那样实现中间件,它记录到 log4net 或类似的并包含来自 HTTP 响应的值。

ELMAH 现在有一个 port for core but this lacks of features from the orginal version. Better have a look at StackExchange.Exceptional 它受到 ELMAH 的启发,可用于旧的 .net 和新的核心 .net。