Nello script #556 abbiamo introdotto il metodo LogTo per loggare le informazioni. In quello script abbiamo visto come inviare qualunque log emesso da Entity Framework Core verso output come la console e la finestra di output in Visual Studio. Entity Framework Core emette tantissime informazioni di logging che spesso non sono importanti durante lo sviluppo. Una delle cose più comuni in fase di sviluppo è visualizzare il codice SQL che viene generato sia in fase di lettura che in fase di scrittura e non altre informazioni. Per filtrare i messaggi di log che vengono inviati alla action passata in input al metodo LogTo possiamo ricorrere agli overload di questo metodo.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //overload 1 optionsBuilder.LogTo( Debug.WriteLine, new[] { RelationalEventId.CommandExecuted }, LogLevel.Debug); //overload 2 optionsBuilder.LogTo(Debug.WriteLine, (e, l) => l == LogLevel.Debug && e == RelationalEventId.CommandExecuted); }
In questo esempio possiamo visualizzare i due overload che permettono di scegliere le condizioni in base alle quali la action di log deve essere invocata.
Nel primo overload passiamo come secondo parametro un array di eventi che corrisponde ai tipi di evento per i quali vogliamo che la action di log venga invocata. Come tezo parametro passiamo il livello di debug necessario per invocare la action.
Nel secondo overload come secondo parametro specifichiamo una funzione che prende in input tipo di evento di log e il livello di log dell'evento e specifica una condizione in base alla quale invocare o meno la action di log.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Limitare le richieste lato server con l'interactive routing di Blazor 8
Miglioramenti nelle performance di Angular 16
Creare un'applicazione React e configurare Tailwind CSS
Implementare l'infinite scroll con QuickGrid in Blazor Server
Usare le collection expression per inizializzare una lista di oggetti in C#
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Sostituire la GitHub Action di login su private registry
Short-circuiting della Pipeline in ASP.NET Core
Gestire i null nelle reactive form tipizzate di Angular
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)