EF Coreを使用する場合、EF Coreが実際に実行するSQLステートメントを知る必要があります。
Simple LoggingはEF Coreが提供する機能で、アプリケーションの開発やデバッグ時にログを簡単に取得できます。この形式のロギングは、他のNuGetパッケージなしで最小限の設定を必要とします。
機能の概要
配置起来非常简单,只需在DbContext.OnConfiguring实现中调用LogTo方法即可:
public class DefaultDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
...
options.LogTo(Console.WriteLine);
}
...
}
LogTo需要一个 Action 委托接受字符串,比如Console.WriteLine,你也可以编写自定义方法决定如何输出日志。
フィルターの選択
デフォルトでは、Simple Loggingは各ログをDebug以上のレベルでログします。これにより、出力ログが多すぎてデバッグに役立たず、Information以上のレベルのログのみを記録することができます。
options.LogTo(Console.WriteLine,
Microsoft.Extensions.Logging.LogLevel.Information);
クエリータグ
但是,这样还是会产生很多日志。这时我们可以结合查询标记,帮助我们快速定位到需要的日志:
var users = context.User.TagWith("查询所有用户").ToList();
