.net core 已經集成的各類日誌功能,使用efcore時,只須要按狀況引入相應的包便可,若是你用的是.net core調試,那麼能夠引入 Microsoft.Extensions.Logging 這類包中的Microsoft.Extensions.Logging.Console 包,如果想在調試窗口看到ef core 執行的語句,能夠 換成 Microsoft.Extensions.Logging.Debug,不過通常來說,由於使用的是.net core,在控制檯上輸出更有意義,能夠在運行時做診斷,要顯示ef core執行的語句須要下面的步驟:
微軟的做法:
1.在dbcontext類上面添加靜態方法:sql
//輸出到debug輸出 public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new DebugLoggerProvider((_, __) => true) }); // 輸出到Console public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider((_, __) => true,true) });
2.而後再添加類中實例方法重寫ide
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseLoggerFactory(LoggerFactory); }
這樣就能夠在VS的輸出窗口裏面看到ef core執行時打出的日誌了,包括全部執行的sql語句
以下
ui
附微軟的官方文檔 Docs.Microsoft.net