2017-09-25 68 views
2

升级到asp.net +实体框架核心2后,我注意到一些奇怪的事情。 之前(在1.1中),我不得不使用DbContextOptionsBuilder.UseLoggerFactory来记录由ef生成的SQL查询,但现在,我不必再这样做了,默认情况下会记录SQL查询。实体框架核心2 SQL始终记录

记录仪出厂设置为“信息”

loggerFactory.AddFile("Logs/MyApp-{Hour}.txt", LogLevel.Information); 

不宜SQL查询与调试相关联?这是正常的吗?有没有办法保持日志记录级别信息并禁用SQL日志记录?

+0

这对我来说似乎很奇怪。 SQL查询默认情况下会记录到哪里? – JasonlPrice

回答

1

我发现,实体框架应该登录SQL中的“信息” 我改变了的LoggerFactory到

loggerFactory.AddFile("Logs/MyApp-{Hour}.txt", LogLevel.Information, new Dictionary<string, LogLevel>() 
      { 
       { "Microsoft", LogLevel.Error }, 
       { "System", LogLevel.Error } 
      }); 

让一切都与“微软”或“系统”,在它的命名空间将只记录错误(或任何以上)