升级到 asp.net + Entity Framework 核心 2 后,我发现了一些奇怪的东西。 之前(在 1.1 中),我必须使用 DbContextOptionsBuilder.UseLoggerFactory 来记录由 ef 生成的 SQL 查询,但现在,我不必再这样做了,默认情况下会记录 SQL 查询。
记录器工厂设置为“信息”
loggerFactory.AddFile("Logs/MyApp-{Hour}.txt", LogLevel.Information);
SQL 查询不应该与 Debug 相关联吗?正常吗?有没有办法保持日志记录级别信息并仅禁用 SQL 日志记录?
最佳答案
我发现 Entity Framework 应该在“信息”中记录 SQL 我将 loggerFactory 更改为
loggerFactory.AddFile("Logs/MyApp-{Hour}.txt", LogLevel.Information, new Dictionary<string, LogLevel>()
{
{ "Microsoft", LogLevel.Error },
{ "System", LogLevel.Error }
});
这样命名空间中带有“Microsoft”或“System”的所有内容都将仅记录错误(或以上任何内容)
关于c# - 始终记录 Entity Framework 核心 2 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46400026/