抑制 EF 核心 3.0.x 初始化消息
Suppress EF core 3.0.x initialized msg
我有:
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 initialized
有没有办法过滤掉这条特定的消息?因为我做了很多查询,所以它只会让我的控制台调试变得混乱 window ..
EF Core 特定的日志消息是通过 DbContextOptionsBuilder.ConfigureWarnings 方法配置的(是的,名称有点误导)。
相关邮件的 EventId
是 CoreEventId.ContextInitialized
。然后使用 Ignore
:
抑制它
optionsBuilder.ConfigureWarnings(warnings => warnings
.Ignore(CoreEventId.ContextInitialized));
当然可以与其他 optionsBuilder
调用链接。此外,您可能希望使用 CoreEventId.ContextDisposed
.
来抑制第二个与上下文生命周期相关的日志消息
我有:
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 initialized
有没有办法过滤掉这条特定的消息?因为我做了很多查询,所以它只会让我的控制台调试变得混乱 window ..
EF Core 特定的日志消息是通过 DbContextOptionsBuilder.ConfigureWarnings 方法配置的(是的,名称有点误导)。
相关邮件的 EventId
是 CoreEventId.ContextInitialized
。然后使用 Ignore
:
optionsBuilder.ConfigureWarnings(warnings => warnings
.Ignore(CoreEventId.ContextInitialized));
当然可以与其他 optionsBuilder
调用链接。此外,您可能希望使用 CoreEventId.ContextDisposed
.