我正在尝试将NLog作为提供程序添加到我的startup.cs文件中的记录器工厂,但我似乎无法添加它.我见过的所有例子都是这样的:
loggerFactory.AddNLog(new global::NLog.LogFactory());
我在用 :
"Microsoft.Framework.Logging": "1.0.0-beta2"
从我在github示例等中可以看出,这不再存在:
"Microsoft.Framework.Logging.NLog": "1.0.0-*"
所以我想知道它被替换为什么(“”NLog“:”3.2.0.0“?),在我的启动文件中添加NLog提供程序的正确方法是什么?
谢谢!
最佳答案 ASP.NET GitHub存储库中有一个日志示例,显示如何使用NLog:
https://github.com/aspnet/Logging/tree/dev/samples/SampleApp
该示例使用此处的示例NLog日志记录适配器:https://github.com/aspnet/Logging/tree/dev/src/Microsoft.Framework.Logging.NLog
这是应用程序中的project.json文件:https://github.com/aspnet/Logging/blob/dev/samples/SampleApp/project.json
{
"dependencies": {
"Microsoft.Framework.Logging": "1.0.0-*",
"Microsoft.Framework.Logging.Console": "1.0.0-*"
},
"frameworks": {
"aspnet50": {
"dependencies": {
"Microsoft.Framework.Logging.NLog": "1.0.0-*"
}
},
"aspnetcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-*"
}
}
}
}
以下是来自示例NLog适配器的project.json文件的相关部分,其中包含实际的NLog依赖项:
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.Framework.Logging": "1.0.0-*",
"NLog": "3.1.0"
},
"frameworks": {
"net45": { },
"aspnet50": { }
}
}
请注意,目前NLog仅适用于aspnet50(.NET 4.x),而不适用于aspnetcore50(Core CLR).
另请注意,由于NLog适配器是一个示例,ASP.NET团队没有正式发布适配器,因此您需要自己获取源代码并使用它.