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

标签 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 作为参数。

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

最佳答案

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

关于c# - NLog .NET Core 2 Log() 不接受 LogEventInfo 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48211924/

相关文章:

c# - MVC 5 中 PostAuthenticateRequest 管道中的空引用

.net-core - .NET Core 解决方案红色代码但构建

.net-core - 存储 Azure Vault 客户端 ID 和客户端密码

c# - 使用 C# 和 Wpf 编辑组合框的子对象

c# - 如何将字符串呈现为 html 链接

c# - 条件属性是否也消除子表达式?

c# - NLog 不使用 ClickOnce 进行记录

c# - 如何为 NLog 设置每个请求的全局变量?

C# - 使用 NLog 记录自定义异常

c# - 如何在.NET CORE类库中添加service.AddDbContext