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