Ich versuche, NLog in meine .NET Core Web App in VS 2017 nach this Tutorial zu laden. Dieses Tutorial verwendet eine Projekt.json-Datei, während mein VS 2017-Projekt eine CSproj-Datei verwendet.NLog funktioniert nicht in VS 2017 .NET Core-Projekt
Das erste, was ich getan habe, war das Hinzufügen des NuGet-Pakets NLog.Web.AspNetCore
zu meinem Webprojekt.
Dann in meiner Startup.cs Datei, habe ich folgendes an die Spitze meiner Startup()
Methode:
env.ConfigureNLog("nlog.config");
nächste in meiner Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime appLifetime)
Methode, habe ich folgendes nach oben:
//add NLog to ASP.NET Core
loggerFactory.AddNLog();
//add NLog.Web
app.AddNLogWeb();
Ich habe eine Datei "nlog.config" zum Stammordner meiner Webanwendung hinzugefügt und definiert, wie im verknüpften Lernprogramm.
Zuletzt habe ich eine ILogger<MyController> logger
-Abhängigkeit in einen Web-API-Controller injiziert und versucht, LogInformation() aufzurufen. Ich bekomme keine Fehler. Es protokolliert nichts in meinem temporären Verzeichnis.
Welches Tempverzeichnis? – mason
@mason Der in der nlog.config im Lernprogramm (c: \ temp \) definierte. – im1dermike
Es gibt ein funktionierendes Beispiel in github: https://github.com/NLog/NLog.Extensions.Logging/tree/master/examples/aspnet-core-example – Julian