2015-05-24 10 views
12

Verwenden von Visual Studio 2015 RC und ASP.Net vNext/5 beta4. Ich möchte die Protokollierung in das Ausgabefenster in Visual Studio beim Debuggen ausgeben oder, wenn möglich, in das Konsolenfenster, das die Site hostet, wenn der WebListener verwendet wird. Mein Webprojekt basiert auf der Standard-Vorlage für eine Web-App und enthält daher die meisten Standard-Inhalte.Wie protokolliert man das Ausgabefenster mit ASP.Net vNext/5

In meinem Startup Ich habe den üblichen Standard

loggerfactory.AddConsole(); 

In meinem Controller ich ILoggerFactory injizieren und so etwas tun;

this.logger = loggerFactory.CreateLogger<ThingClass>(); 
this.logger.LogVerbose("Verbose"); 
this.logger.LogInformation("Info"); 
this.logger.LogError("error"); 

Nichts davon wird oder an anderer Stelle im Debug-Fenster geschrieben - ich bin nicht wirklich sicher, was AddConsole() sollte hier erreichen?

Ich habe dann versucht Microsoft.Framework.Logging.TraceSource zu project.json und

loggerfactory.AddTraceSource(new SourceSwitch("web-app", "Verbose"), new DefaultTraceListener()); 

zu Startup hinzuzufügen. Das funktioniert tatsächlich - außer jetzt wird jede Logmeldung zweimal an die Konsole geschrieben, was ziemlich nervig ist.

Ich vermisse hier eindeutig etwas Grundlegendes, kann aber keine Dokumentation zum neuen Microsoft.Framework.Logging finden. In der Tat ist die umfassendste und ausführlichste Dokumentation, die ich ausfindig machen konnte, Nicholas Blumhardts kurzer Artikel hier: http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/.

I tun verstehen, dass das Framework nur ein Wrapper sein soll und dass ich meine eigenen Anbieter sowie eine Reihe von Frameworks wie Serilog etc. implementieren kann. Aber ... für eine einfache Anwendung sicherlich sollte ich sein in der Lage, ohne viel Zeremoniell in das Debug-Fenster in VS zu loggen?

+0

gute Abdeckung hier http://www.tugberkugurlu.com/archive/logging -in-the-owin-world-mit-microsoft-owin - einführung – JJS

+0

@JJS danke, das ist interessant! Es sieht so aus, als wäre es in OWIN, und nicht in vNext/5. Aber ich bin mir sicher, dass es Dinge geben kann, die ich von einem zum anderen extrapolieren kann, da sich der neue wahrscheinlich daraus entwickelt hat, also danke :) – Frans

+0

vNext/5 verwendet OWIN. Sie sind nicht ganz anders. – JJS

Antwort

3
+2

Dieser Link ist jetzt tot. –

+0

Es ist jetzt am Leben :) – davidfowl

+0

Um ein bisschen zu erarbeiten - einfach loggerFactory.AddDebug hinzufügen (LogLevel.Information); In Configure() von Startup.cs können Sie EF generierte SQL-Anweisungen in der Visual Studio-Debugausgabe anzeigen. Danke Davidfowl! – ctorx

-1

Wir haben mit erfolgreich:

Debug.WriteLine("Whatever I want to log to Output goes here..."); 

von

System.Diagnostics 
Verwandte Themen