联系请关注微信公众号:Dotnet9
创建于2022-05-04 15:56:21| MyIO| 我要编辑、留言
EF Core使用Simple Logging输出日志

在使用 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();

网站统计
网站创建
5年
文章分类
8个
文章总计
471篇
文章原创
101篇(21.44%)