Dependency injection 将NLog提供程序添加到iLogger工厂
我试图在startup.cs文件中将NLog作为提供程序添加到我的记录器工厂,但似乎无法添加它。我看到的所有示例都是这样做的:Dependency injection 将NLog提供程序添加到iLogger工厂,dependency-injection,nlog,asp.net-core,Dependency Injection,Nlog,Asp.net Core,我试图在startup.cs文件中将NLog作为提供程序添加到我的记录器工厂,但似乎无法添加它。我看到的所有示例都是这样做的: loggerFactory.AddNLog(新的全局::NLog.LogFactory()); 我正在使用: “Microsoft.Framework.Logging”:“1.0.0-beta2” 从GitHub示例中可以看出,这一点已不复存在: “Microsoft.Framework.Logging.NLog”:“1.0.0-*” 因此,我想知道它被替换为什么
loggerFactory.AddNLog(新的全局::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 repo中有一个日志示例,显示了如何使用NLog:
此示例使用以下示例中的NLog日志记录适配器:
下面是应用程序中的project.json
文件:
{
“依赖项”:{
“Microsoft.Framework.Logging”:“1.0.0-*”,
Microsoft.Framework.Logging.Console:“1.0.0-*”
},
“框架”:{
“aspnet50”:{
“依赖项”:{
“Microsoft.Framework.Logging.NLog”:“1.0.0-*”
}
},
“aspnetcore50”:{
“依赖项”:{
“系统控制台”:“4.0.0-beta-*”
}
}
}
}
下面是示例NLog适配器中的project.json
文件的相关部分,该文件具有实际的NLog依赖性:
{
“版本”:“1.0.0-*”,
“依赖项”:{
“Microsoft.Framework.Logging”:“1.0.0-*”,
“NLog”:“3.1.0”
},
“框架”:{
“net45”:{},
“aspnet50”:{}
}
}
请注意,目前NLog仅在aspnet50
(.NET 4.x)上工作,而不在aspnetcore50
(核心CLR)上工作
还要注意,由于NLog适配器是一个示例,ASP.NET团队没有正式发布该适配器,因此您需要自己获取源代码并使用它。我认为我的响应有点太快了。这些是我在发布q之前看到的示例,但是我的问题是“Microsoft.Framework.Logging.NLog”:“1.0.0-*”不存在。在您的示例中,project.json文件引用了这一点,正如我所提到的,在VS.@yhax中无法解决这一点,NLog适配器只是一个示例,没有提供。您必须从GitHub获取代码并自己使用(目前)。