|
|
Veröffentlicht am 08.05.2019 14:43:01
|
|
|
|

ASP.NET Core unterstützt Logging-APIs für eine Vielzahl integrierter und Drittanbieter-Logging-Anbieter. Logging ist ein wesentlicher Bestandteil unserer täglichen Entwicklung.
Schauen wir uns zunächst die Renderings der Konsole an, wie folgt:
Fügen Sie einen Log-Anbieter hinzu
Logging-Anbieter zeigen Logs an oder speichern sie. Zum Beispiel zeigt ein Konsolenanbieter Logs auf der Konsole an, und der Azure Application Insights-Anbieter speichert diese Logs in Azure Application Insights. Logs können an mehrere Ziele gesendet werden, indem mehrere Anbieter hinzugefügt werden.
Bearbeiten Sie die Programmdatei wie folgt:
Erstellen Sie ein Log (Konstruktor-Injektion)
Das folgende Controller-Beispiel erstellt Logs auf allen Ebenen.
Log-Ebene | Showtext | Vordergrundfarbe | Hintergrundfarbe | Spur | TRCE | Gray | Schwarz | Debugger | dbug | Gray | Schwarz | Informationen | Informationen | Dunkelgrün | Schwarz | Warnung | warnen | Gelb | Schwarz | Fehler | Fehler | Rot | Schwarz | Kritisch | Krit | Weiß | Rot |
Referenzlinks:Der Hyperlink-Login ist sichtbar.
Führe das Projekt mit folgendem Befehl aus, und du kannst das Ausgabeprotokoll über die Konsole sehen.
Besuchen Sie die lokale URL, um das Ergebnis zu sehen.
Steuerlog-Ebene
Wir nichtIch möchte nicht sehen, dass die Konsole so viele unsinnige Infologs ausgibt, Ich möchte nur die wichtigen Protokolle sehen, die ich aufgezeichnet habe, was soll ich tun?
1: Kontrolliere das Log-Level über die Konfigurationsdatei und bearbeite appsettings.json Datei wie folgt:
Dieses JSON erstellt 6 Filterregeln: eine für Debugging-Anbieter, 4 für Konsolenanbieter und eine für alle Anbieter. Wenn Sie ein ILogger-Objekt erstellen, wählen Sie für jeden Anbieter eine Regel aus.
2: Passcode-Kontrolle (ohne Test)
Der zweite AddFilter verwendet den Typnamen, um den Debug-Anbieter anzugeben. Der erste AddFilter gilt für alle Anbieter, da er den Anbietertyp nicht angibt.
Standard-Mindestlevel
Die Mindestlevel-Einstellung tritt nur dann in Kraft, wenn die Regeln in der Konfiguration oder im Code nicht für einen bestimmten Anbieter und eine bestimmte Kategorie gelten. Das folgende Beispiel zeigt, wie man das Mindestniveau einstellt:
Wenn das Mindestlevel nicht explizit festgelegt ist, ist der Standardwert Information, was es darstelltTrace- und Debug-Logs werden ignoriert。
Referenzlinks:Der Hyperlink-Login ist sichtbar.
Verwenden Sie Autofac, um ILogger-Logs über Eigenschaften einzufügen
Im Allgemeinen injizieren wir Logdienste über Konstruktoren, wie injizieren wir über Attribute? Wie kann man ILogger sonst auf Autofac hosten?
In der Startbearbeitungsmethode ConfigureServices wie folgt:
Die folgenden vier wichtigen Sätze:
Fügen Sie es unbedingt hinzuloggerFactory.AddConsole();Diese Codezeile, sonst wird die KonsoleNichts wird ausgegeben., und Autofac-Hosting ist, die Konfigurationsdatei ungültig ist.
Controller-Code:
Greifen Sie auf die URL zu, dotnet-Ausführung startet das Projekt, und die Konsolenausgabe ist wie folgt:
Wie man Logs ILogger über Eigenschaften in andere Klassen injiziert.
(Ende)
|
Vorhergehend:ASP.NET Core verwendet Autofac, um IOC-Injektionen zu implementierenNächster:ASP.NET Core verwendet Autofac, um AOP-Abfang zu implementieren
|