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();

如果觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“,记住我!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值