ASP.NET Core supporta API di logging per un'ampia gamma di fornitori di logging integrati e terzi. Il logging è una caratteristica essenziale nel nostro sviluppo quotidiano.
Diamo prima un'occhiata ai rendering della console, come segue:
Aggiungi un fornitore di log
I fornitori di logging visualizzano o conservano i log. Ad esempio, un provider console visualizza i log sulla console, mentre il provider Azure Application Insights memorizza questi log in Azure Application Insights. I log possono essere inviati a più destinazioni aggiungendo più provider.
Modifica il file Program come segue:
Creare un log (iniezione di costruttore)
Il seguente esempio di controller crea log a tutti i livelli.
Livello logaritmico | Testo del programma | Colore del primo piano | Colore di sfondo | Traccia | TRCE | Grigio | Nero | Debug | dbug | Grigio | Nero | Informazioni | Info | Verde Scuro | Nero | Avviso | avverte | Giallo | Nero | Errore | fallimento | Rosso | Nero | Critica | critico | Bianco | Rosso |
Collegamenti di riferimento:Il login del link ipertestuale è visibile.
Esegui il progetto con il seguente comando e puoi vedere il log di output tramite la console.
Visita l'URL locale per vedere l'output.
Livello di log di controllo
Noi noNon voglio vedere la console produrre così tanti log di informazioni insensati, voglio solo vedere i registri importanti che ho registrato, cosa dovrei fare?
1: Controlla il livello del log tramite il file di configurazione e modifica appsettings.json file come segue:
Questo JSON creerà 6 regole di filtraggio: 1 per i provider di debug, 4 per i provider console e 1 per tutti i provider. Quando crei un oggetto ILogger, scegli una regola per ogni provider.
2: Controllo tramite codice di accesso (nessun test)
Il secondo AddFilter utilizza il nome del tipo per specificare il fornitore di debug. Il primo AddFilter si applica a tutti i provider perché non specifica il tipo di provider.
Livello minimo predefinito
L'impostazione del livello minimo entra in vigore solo se le regole nella configurazione o nel codice non si applicano a un determinato fornitore e categoria. Il seguente esempio mostra come impostare il livello minimo:
Se il livello minimo non è esplicitamente impostato, il valore predefinito è Informazione, che rappresentaI log di tracciamento e debug saranno ignorati。
Collegamenti di riferimento:Il login del link ipertestuale è visibile.
Usa Autofac per iniettare i log ILogger tramite proprietà
Generalmente, iniettiamo servizi di log tramite costruttori, come iniettiamo attraverso attributi? Come altro si può ospitare ILogger su Autofac?
Nel metodo di modifica di avvio ConfigureServices, come segue:
Le seguenti quattro frasi importanti:
Assicurati di aggiungerlologgerFactory.AddConsole();Questa linea di codice, altrimenti la console lo faràNon viene prodotto nulla, e autofac hosting, il file di configurazione sarà invalido.
Codice Controller:
Accedi all'URL, dotnet run avvia il progetto e l'output console è il seguente:
Come iniettare log ILogger in altre classi tramite proprietà.
(Fine)
|