【问题标题】:NLog .NET Core 2 Log() does not accept LogEventInfo as argumentNLog .NET Core 2 Log() 不接受 LogEventInfo 作为参数
【发布时间】:2018-06-21 01:40:20
【问题描述】:

根据https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2,我正在使用 .NET Core 2 实现 NLog,它使用这两个包:

  • NLog 4.5.0-rc03
  • NLog.Web.AspNetCore 4.5.0-rc2

日志记录工作正常,但现在我想添加Event Properties,Log() 函数不接受 LogEventInfo 作为参数。

任何想法都会有所帮助。提前致谢。

【问题讨论】:

标签: c# nlog .net-core-2.0


【解决方案1】:

使用 ASP.NET Core 时,您有两个使用 NLog 的选项。

您可以使用 Microsoft.Extensions.Logging (MEL),日志记录抽象由 Microsoft 引入。然后你不能使用 NLog 类型,比如LogEventInfo,因为日志抽象不知道 NLog。 为此,您需要包NLog.Web.AspNetCore。见设置:Use NLog in ASP.NET Core application

另一种选择是直接使用 NLog,因此使用 NLog 中的 LogManager。然后你可以使用LogEventInfo

另见Microsoft.Extensions.Logging Vs. NLog

您还可以使用 MEL-ILoggerProvider 添加自定义 LogEvent 属性(不直接使用 NLog LogEventInfo):

https://github.com/NLog/NLog.Extensions.Logging/wiki/NLog-properties-with-Microsoft-Extension-Logging

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 2020-10-29
    相关资源
    最近更新 更多