ASP.NET Core ondersteunt logging-API's voor een breed scala aan ingebouwde en externe loggingproviders. Logging is een essentieel onderdeel van onze dagelijkse ontwikkeling.
Laten we eerst naar de renderings van de console kijken, als volgt:
Voeg een logleverancier toe
Loggproviders tonen of slaan logs op. Bijvoorbeeld, een consoleprovider toont logs op de console, en de Azure Application Insights-provider slaat deze logs op in Azure Application Insights. Logs kunnen naar meerdere bestemmingen worden gestuurd door meerdere providers toe te voegen.
Bewerk het Programmabestand als volgt:
Maak een log aan (constructorinjectie)
Het volgende controllervoorbeeld maakt logs op alle niveaus.
Log-niveau | Tekst van de show | Voorgrondkleur | Achtergrondkleur | Trace | TRCE | Gray | Zwart | Debug | dbug | Gray | Zwart | Informatie | Info | Donkergroen | Zwart | Waarschuwing | waarschuw | Geel | Zwart | Fout | mislukt | Rood | Zwart | Kritisch | crit | Wit | Rood |
Referentielinks:De hyperlink-login is zichtbaar.
Voer het project uit met het volgende commando, en je kunt het outputlog via de console bekijken.
Bezoek de lokale URL om de output te bekijken.
Controlelog-niveau
Wij nietIk wil niet dat de console zoveel onzinnige informatielogs uitgeeft, Ik wil alleen de belangrijke logboeken zien die ik heb vastgelegd, wat moet ik doen?
1: Stuur het logniveau via het configuratiebestand en bewerk appsettings.json bestand als volgt:
Deze JSON maakt 6 filterregels: 1 voor debuggende providers, 4 voor consoleproviders en 1 voor alle providers. Wanneer je een ILogger-object aanmaakt, kies dan een regel voor elke provider.
2: Toegangscodecontrole (geen testen)
De tweede AddFilter gebruikt de typenaam om de debugprovider aan te geven. De eerste AddFilter geldt voor alle zorgverleners omdat het het type aanbieder niet specificeert.
Standaard minimumniveau
De minimum-niveau instelling treedt alleen in werking als de regels in de configuratie of code niet van toepassing zijn op een bepaalde provider en categorie. Het volgende voorbeeld laat zien hoe je het minimumniveau instelt:
Als het minimumniveau niet expliciet is ingesteld, is de standaardwaarde Informatie, die het vertegenwoordigtTrace- en Debuglogs worden genegeerd。
Referentielinks:De hyperlink-login is zichtbaar.
Gebruik Autofac om ILogger-logs via eigenschappen te injecteren
Over het algemeen injecteren we logservices via constructors, hoe injecteren we via attributen? Hoe kun je ILogger anders naar Autofac hosten?
In de Startup-bewerkingsmethode ConfigureServices, als volgt:
De volgende vier belangrijke zinnen:
Zorg dat je het toevoegtloggerFactory.AddConsole();Deze regel code, anders zal de consoleEr wordt niets uitgevoerd, en autofac hosting het configuratiebestand ongeldig zal zijn.
Controllercode:
Toegang tot de URL, dotnet start het project, en de console-output is als volgt:
Hoe je logs ILogger injecteert in andere klassen via eigenschappen.
(Einde)
|