2016-03-17 3 views
6

So habe ich dies in meinem Startup.cs von Standard:Wie wird die LoggerFactory-Protokollkonsole in ASP.NET Core 1.0 für eine Webanwendung angezeigt?

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

Wie kann ich die Konsole die loggerFactory Zugabe wird? Ich kann die Logging-Informationen im Debug-Ausgabefenster sehen, aber es ist sehr verworren mit dem Rest der automatischen Debug-Informationen und schwer zu finden.

Gibt es eine Möglichkeit, die Logger-Konsole anzuzeigen, oder wenn nicht, eine Möglichkeit, die Informationen anzuzeigen, die nur Ich logge mich ein?

Antwort

1

Eine Möglichkeit, dies zu erreichen, wäre die Implementierung einer eigenen Implementierung der Klassen ILoggerFactory und ILogger. dh

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

Sie einen Blick auf die Implementierungen von Microsoft in Protokollierung gebaut nehmen und erstellen Sie Ihre eigenen auf diese Basis nach Bedarf: https://github.com/aspnet/Logging/tree/dev/src/Microsoft.Extensions.Logging

Dies ermöglicht Ihnen, die Standardprotokoll Methoden und sogar außer Kraft zu setzen erstellen Ihre eigenen überschreibt, welche Identität es als Benutzer protokolliert vs System protokolliert oder was auch immer Sie benötigen.

Sobald Sie Ihre eigenen Implementierungen haben, können Sie dann registrieren es wie folgt aus:

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

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

Ich habe dies in einem Testprojekt von mir getan, und es funktioniert gut für uns. Sie können bei Bedarf auch andere Implementierungen der Protokollierung erstellen, z. B. einen Datenbanklogger

3

Um weniger Unordnung anzuzeigen, die vom Framework im Debugfenster generiert wurde, können Sie auswählen, welche Aspekte protokolliert werden.

Insbesondere schalte ich "Module Load Messages" als das ist der Großteil der Nachrichten (in VS 2015). Außerdem sollten "Thread-Exit-Nachrichten" eine weitere Option sein, die in Betracht gezogen werden könnte.

Extras -> Optionen -> Debugging -> Ausgabefenster:

"Module Load Messages" logging options in Visual Studio 2015

Verwandte Themen