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);
});