NLog不在VS 2017 .NET Core项目中工作

时间:2017-03-13 19:36:04

标签: asp.net asp.net-core nlog asp.net-core-webapi

我试图在{2017}教程后面的VS 2017中将NLog加载到我的.NET核心Web应用程序中。本教程使用的是project.json文件,而我的VS 2017项目使用的是csproj文件。

我做的第一件事就是将NLog.Web.AspNetCore NuGet包添加到我的web项目中。

然后,在我的Startup.cs文件中,我将以下内容添加到Startup()方法的顶部:

env.ConfigureNLog("nlog.config");

接下来,在我的Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime appLifetime)方法中,我将以下内容添加到顶部:

//add NLog to ASP.NET Core
loggerFactory.AddNLog();

//add NLog.Web
app.AddNLogWeb();

我在我的网络应用程序的根目录中添加了一个nlog.config文件,其定义与链接教程中的相同。

最后,我将一个ILogger<MyController> logger依赖项注入Web API控制器并尝试调用LogInformation()。我没有得到任何错误。它只是没有记录我的临时目录。

2 个答案:

答案 0 :(得分:0)

尝试将配置移至App.config

请参阅NLog.Extensions.Logging-master \ examples \ net-fullframework-example \ src \ net-app-using-nlog \ App.config作为示例

答案 1 :(得分:0)

我遵循了same tutorial,与您遇到了同样的问题!

  1. 重新启动计算机
  2. 按照建议的here开启throwExceptions="true"
  3. 确保已将NLog.config复制到输出文件夹,但在文件上设置了属性。enter image description here
  4. 在本地运行时,请检查您的解决方案文件夹和子文件夹, bin \ Debug \ netcoreapp2.1 。在调试模式下运行时,NLog.config必须存在。
  5. 即使使用始终复制,我的文件也没有被复制b / c visual studio在NLog.config和nlog.config之间感到困惑。重启由于某种原因帮助了我-我也在git中提交了更改。
  6. connectionStringName在DatabaseTarget上不受支持(对于.NET 2.1)。请改用connectionString。有关更多详细信息,请参见this github issue