ASP.NET Core støtter loggings-API-er for et bredt spekter av innebygde og tredjeparts loggingsleverandører. Logging er en essensiell del av vår daglige utvikling.
La oss først se på gjengivelsene av konsollen, som følger:
Legg til en tømmerleverandør
Loggingsleverandører viser eller lagrer logger. For eksempel viser en konsollleverandør logger på konsollen, og Azure Application Insights-leverandøren lagrer disse loggene i Azure Application Insights. Logger kan sendes til flere destinasjoner ved å legge til flere leverandører.
Rediger programfilen som følger:
Lag en logg (konstruktørinjeksjon)
Følgende kontrollereksempel lager logger på alle nivåer.
Log-nivå | Vises tekst | Forgrunnsfarge | Bakgrunnsfarge | Trace | TRCE | Gray | Svart | Debug | dbug | Gray | Svart | Informasjon | info | Mørkegrønn | Svart | Advarsel | ADVARSEL | Gul | Svart | Feil | Feilet | Rød | Svart | Kritisk | Crit | Hvit | Rød |
Referanselenker:Innloggingen med hyperkoblingen er synlig.
Kjør prosjektet med følgende kommando, og du kan se utdataloggen gjennom konsollen.
Besøk den lokale URL-en for å se resultatet.
Kontrolllogg-nivå
Det gjør vi ikkeVil ikke se konsollen sende ut så mange meningsløse informasjonslogger, jeg vil bare se de viktige loggene jeg har registrert, hva bør jeg gjøre?
1: Kontroller loggnivået gjennom konfigurasjonsfilen og rediger filen appsettings.json som følger:
Denne JSON-en vil lage 6 filtreringsregler: 1 for feilsøkende leverandører, 4 for konsollleverandører, og 1 for alle leverandører. Når du oppretter et ILogger-objekt, velg en regel for hver leverandør.
2: Passkodekontroll (ingen testing)
Det andre AddFilteret bruker typenavnet for å spesifisere feilsøkingsleverandøren. Det første AddFilteret gjelder for alle leverandører fordi det ikke spesifiserer leverandørtypen.
Standard minimumsnivå
Minimumsnivåinnstillingen trer kun i kraft hvis reglene i konfigurasjonen eller koden ikke gjelder for en gitt leverandør og kategori. Følgende eksempel viser hvordan man setter minimumsnivået:
Hvis minimumsnivået ikke er eksplisitt satt, er standardverdien Informasjon, som det representererSpor- og feilsøkingslogger vil bli ignorert。
Referanselenker:Innloggingen med hyperkoblingen er synlig.
Bruk Autofac for å injisere ILogger-logger via egenskaper
Generelt injiserer vi loggtjenester gjennom konstruktører, hvordan injiserer vi gjennom attributter? Hvordan ellers hoste ILogger til Autofac?
I oppstartsredigeringsmetoden ConfigureServices, som følger:
Følgende fire viktige setninger:
Husk å legge det tilloggerFactory.AddConsole();Denne kodelinjen, ellers vil konsollenIngenting blir utlevert, og autofac hosting, vil konfigurasjonsfilen være ugyldig.
Kontrollerkode:
Få tilgang til URL-en, dotnet-kjøring starter prosjektet, og konsollutgangen er som følger:
Hvordan injisere logger ILogger i andre klasser gjennom egenskaper.
(Slutt)
|