NLog .NET Core 2 Log()不接受LogEventInfo作为参数

时间:2018-01-11 16:37:46

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

我根据使用这两个软件包的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作为参数。

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

1 个答案:

答案 0 :(得分:0)

使用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