在Entity Framework Core中启用原始SQL日志记录

如何启用DbCommand原始SQL查询的日志记录?

我已将以下代码添加到我的Startup.cs文件中,但未看到Entity Framework Core中的任何日志条目。

void ConfigureServices(IServiceCollection services) { services.AddLogging(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(LogLevel.Debug); } 

我期待看到这样的事情:

 Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilder... SELECT [t].[Id], [t].[DateCreated], [t].[Name], [t].[UserName] FROM [Trips] AS [t] 

想出来 – 需要配置DbContext来使用logger工厂。

 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseLoggerFactory(_loggerFactory); }