在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); }