2015-05-24 22 views
12

Utilizzo di Visual Studio 2015 RC e ASP.Net vNext/5 beta4. Desidero eseguire il log delle registrazioni nella finestra di output in Visual Studio durante il debug o, se possibile, nella finestra della console che ospita il sito quando si utilizza WebListener. Il mio progetto Web è basato sul modello standard fuori dalla scatola per un'app Web, quindi contiene la maggior parte delle cose predefinite.Come accedere alla finestra Output con ASP.Net vNext/5

Nel mio Startup Ho la solita impostazione predefinita

loggerfactory.AddConsole(); 

Nel mio controller inietto ILoggerFactory e fare qualcosa di simile;

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

Niente di tutto questo viene scritto verso la finestra di debug o altrove - io non sono davvero sicuro di quello che si suppone AddConsole() per ottenere qui?

Allora ho provato ad aggiungere Microsoft.Framework.Logging.TraceSource a project.json e

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

a Startup. Funziona in realtà - tranne che ora ogni messaggio di registro viene scritto nella console due volte, il che è piuttosto fastidioso.

Mi manca chiaramente qualcosa di fondamentale qui ma non riesco a trovare alcuna documentazione sul nuovo Microsoft.Framework.Logging. In effetti, la documentazione più completa e approfondita che sono stato in grado di rintracciare è il breve articolo di Nicholas Blumhardt qui: http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/.

I do do che il framework dovrebbe essere solo un wrapper e che posso implementare i miei provider e utilizzare una gamma di framework come Serilog ecc. Ma ... per una semplice applicazione sicuramente dovrei essere in grado di accedere alla finestra di debug in VS senza molta cerimonia?

+0

buona copertura qui http://www.tugberkugurlu.com/archive/logging -in-the-owin-world-with-microsoft-owin - introduzione – JJS

+0

@JJS grazie, è interessante! Sembra che si tratti dell'equivalente in OWIN, piuttosto che vNext/5. Ma, sono sicuro che ci sono cose che potrei essere in grado di estrapolare da una all'altra, dal momento che quella nuova probabilmente si è evoluta da quella, quindi grazie :) – Frans

+0

vNext/5 usa OWIN. Non sono completamente diversi. – JJS

risposta

3
+2

Questo link è ora morto. –

+0

È vivo ora :) – davidfowl

+0

Per elaborare un po '- semplicemente aggiungendo loggerFactory.AddDebug (LogLevel.Information); in Configure() di Startup.cs consentirà di vedere le istruzioni SQL generate da EF nell'Output debug di Visual Studio. Grazie, davidfowl! – ctorx

-1

Abbiamo utilizzato con successo:

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

da

System.Diagnostics 
Problemi correlati