2016-01-27 5 views
6

Wie kann ich mich in Asp.Net 5 RC1 anmelden? Ich konnte mit Microsoft.Extensions.Logging keine Lösung finden. Gibt es eine Lösung, die mit .Net Core 5 (DNX Core 5.0) kompatibel ist? Ich habe auch versucht, Serilog zu verwenden, aber Serilog unterstützt Core 5 noch nicht.Asp.Net 5 (Kern) RC1: Wie man in die Datei loggt (Rolling File Logging) [DNX Core 5 kompatible Lösung]?

+0

Haben Sie den 'NLog' Logger versucht? –

+0

Oder Sie könnten die 1984-Route gehen und nur ein Sub, das einen bereitgestellten Protokolleintrag in eine Datei Ihrer Wahl schreibt und es in Gang halten. Wenn das Ihre einzige Voraussetzung ist, wird es funktionieren. Wahrscheinlich nicht bevorzugt oder empfohlen, aber sicherlich kompatibel und wird funktionieren. Wenn Sie ein Beispiel für ein solches Verfahren benötigen, lassen Sie es mich wissen und ich werde eines zur Verfügung stellen. –

Antwort

14

Um Serilog in Ihrem ASP.NET 5 RC1 Projekt, fügen Sie die folgenden Abhängigkeiten in Ihrer project.json Datei:

"Serilog.Extensions.Logging": "1.0.0-rc1-final-10092", 
"Serilog.Sinks.RollingFile": "2.0.0-beta-465" 

den Logger im Startup Konstruktor erstellen:

public Startup(IApplicationEnvironment appEnv) 
{ 
    Log.Logger = new LoggerConfiguration() 
     .MinimumLevel.Debug() 
     .WriteTo.RollingFile(Path.Combine(appEnv.ApplicationBasePath, "log-{Date}.txt")) 
     .CreateLogger(); 
} 

und Fügen Sie Serilog in der Startup.Configure Methode hinzu:

public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) 
{ 
    loggerFactory.AddSerilog(); 
+1

Das funktioniert lokal in VS, aber ich kann es nicht auf IIS arbeiten, selbst wenn die Anwendung selbst funktioniert. Irgendeine Idee warum? Es wird keine Protokolldatei erstellt. – Egi

+0

Versuchen Sie, dem Anwendungspool Identitätsberechtigungen zu erteilen, um in den Ordner zu schreiben, in dem Sie sich anmelden. –

+0

überprüfen Sie auch Seq (https://getseq.net/) für die Anzeige der Protokolle in gut formatierter Form im Browser. (Wie Elmah tut). –