Io ho:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string connectionString = "mydb.db;";
optionsBuilder
.UseLoggerFactory(MainWorker.ConsoleLoggerFactory)
.EnableSensitiveDataLogging(true)
.UseSqlite(connectionString);
}
Ogni volta che accedo al mio DBContext la console mostra
info: Microsoft.EntityFrameworkCore.Infrastructure [10403] Entity Framework Core 3.0.0-preview4.19176.6 inizializzato
C'è un modo per filtrare questo particolare messaggio? poiché faccio molte query, ingombra solo la finestra di debug della mia console.
I messaggi di log specifici di EF Core sono configurati tramite il metodo DbContextOptionsBuilder.ConfigureWarnings (sì, il nome è un po 'fuorviante).
EventId
del messaggio in questione è CoreEventId.ContextInitialized
. E lo sopprimi usando Ignore
:
optionsBuilder.ConfigureWarnings(warnings => warnings
.Ignore(CoreEventId.ContextInitialized));
Naturalmente può essere concatenato con le altre optionsBuilder
. Inoltre, è possibile sopprimere il messaggio di registro relativo alla durata del secondo contesto con CoreEventId.ContextDisposed
.