Подавить инициализацию сообщения EF core 3.0.x - PullRequest
1 голос
/ 03 июня 2019

У меня есть:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
{
  string connectionString = "mydb.db;";
  optionsBuilder
  .UseLoggerFactory(MainWorker.ConsoleLoggerFactory)
  .EnableSensitiveDataLogging(true)
  .UseSqlite(connectionString);
}

Всякий раз, когда я получаю доступ к моему DBContext, консоль показывает

info: Microsoft.EntityFrameworkCore.Infrastructure [10403] Entity Framework Core 3.0.0-preview4.19176.6 инициализировано

Есть ли способ отфильтровать это конкретное сообщение?так как я делаю много запросов, это просто загромождает мое окно отладки консоли ..

1 Ответ

2 голосов
/ 03 июня 2019

EF Основные сообщения журнала настраиваются с помощью DbContextOptionsBuilder.ConfigureWarnings метода (да, имя немного вводит в заблуждение).

EventId сообщения, о котором идет речь, - CoreEventId.ContextInitialized. И вы подавляете это используя Ignore:

optionsBuilder.ConfigureWarnings(warnings => warnings
    .Ignore(CoreEventId.ContextInitialized));

Конечно, он может быть связан с другими optionsBuilder вызовами. Также вы можете подавить второе сообщение журнала, связанное с временем жизни контекста, с помощью CoreEventId.ContextDisposed.

...