Change logging level of SQL queries logged by Entity Framework Core
Since Entity Framework Core 3.0 it's possible to change to logging level of SQL queries.
During to 3.0 previews all query execution logging was changed to Debug
by default. Later this change got reverted and now it's configurable.
To do this override OnConfiguring
in your DbContext
and run the following snippet:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.ConfigureWarnings(c => c.Log((RelationalEventId.CommandExecuting, LogLevel.Debug)));
See: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/breaking-changes#query-execution-is-logged-at-debug-level-reverted
You can set log level of Microsoft or System messages individually.
For your EntityFramework chatty logging you can set this in your startup class.
services.AddLogging(builder =>
{
builder.AddFilter("Microsoft", LogLevel.Warning);
builder.AddFilter("System", LogLevel.Error);
});