【发布时间】:2018-01-18 20:00:36
【问题描述】:
鉴于 ELMAH 不会很快移植到 .Net Core:https://github.com/elmah/Elmah/issues/407
是否有人在移植的记录器(Log4Net?)中创建了配置,以 ELMAH 的方式提取 HttpResponse 上下文信息?
【问题讨论】:
标签: .net logging asp.net-core log4net elmah
鉴于 ELMAH 不会很快移植到 .Net Core:https://github.com/elmah/Elmah/issues/407
是否有人在移植的记录器(Log4Net?)中创建了配置,以 ELMAH 的方式提取 HttpResponse 上下文信息?
【问题讨论】:
标签: .net logging asp.net-core log4net elmah
ELMAH 现在有一个port 用于核心,但这缺少原始版本的功能。最好看看StackExchange.Exceptional,它的灵感来自 ELMAH,适用于旧的 .net 和新的核心 .net。
【讨论】:
TL;DR:我不这么认为。
据我所知,Microsoft.Extensions.Logging 的任何提供程序都不包含来自 HTTP 上下文(请求、响应等)的任何信息。 Microsoft.Extensions.Logging 不是特定于网络的,为什么这种行为是有意义的。
我已经实现了 ASP.NET Core 中间件,它通过将所有未捕获的异常记录到 elmah.io(不是 ELMAH)来复制 ELMAH 行为:https://github.com/elmahio/Elmah.Io.AspNetCore/blob/master/src/Elmah.Io.AspNetCore/ElmahIoMiddleware.cs。
如果您想了解更多关于如何构建错误日志记录中间件的信息,我也写了一篇博文:Error Logging Middleware in ASP.NET Core。您可以像帖子中解释的那样实现中间件,将日志记录到 log4net 或类似的,并包含来自 HTTP 响应的值。
【讨论】: