2016-03-17 46 views
6

Così ho questo nel mio Startup.cs di default:Come visualizzare la console di log di LoggerFactory in ASP.NET Core 1.0 per un'app Web?

loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
loggerFactory.AddDebug(); 

Come vedo la console del loggerFactory è l'aggiunta? Riesco a vedere le informazioni di registrazione nella finestra di output di Debug, ma è molto confuso con il resto delle informazioni di debug automatico e difficile da trovare.

C'è un modo per visualizzare la console di registrazione o, in caso contrario, un modo per visualizzare le informazioni che solo Accedere Output?

risposta

1

Un modo per ottenere ciò sarebbe implementare la propria implementazione delle classi ILoggerFactory e ILogger. cioè

public class MyLoggerFactory : ILoggerFactory {...} 
public class MyConsoleLogger : ILogger {...} 

Potete dare un'occhiata alle implementazioni di Microsoft di costruito in registrazione e creare il proprio sulla base di questi, se necessario: https://github.com/aspnet/Logging/tree/dev/src/Microsoft.Extensions.Logging

Questo vi permetterà di ignorare i metodi di default registro e persino creare le tue sovrascritture che identificano l'utente come utente registrato o sistema registrato o qualsiasi cosa ti serva da esso.

Una volta che avete le vostre proprie implementazioni è possibile quindi registrarlo come il seguente:

//Register logging 
var loggerConfig = Configuration.GetValue("Logging", new MyLoggingConfig()); 

var loggerFactory = new MyLoggerFactory(loggerConfig); 
services.AddSingleton(typeof(ILoggerFactory), loggerFactory); 
services.AddLogging(); 

ho fatto questo in un progetto di test di mine e funziona bene per noi. È inoltre possibile creare altre implementazioni di registrazione, se necessario, ad esempio un registratore di database

3

Per visualizzare meno clutter generato dal framework nella finestra di debug, è possibile selezionare quali aspetti vengono registrati.

In particolare, disattivo "Messaggi di caricamento del modulo" poiché questo è il grosso dei messaggi (in VS 2015). Inoltre, "Thread Exit Messages" è un altro da considerare di disattivare.

Strumenti -> Opzioni -> Debug -> finestra di output:

"Module Load Messages" logging options in Visual Studio 2015

Problemi correlati