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“,记住我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目执行过程

执行过程组包含完成项目管理计划中确定的工作以实现项目目标的一组过程。包括以下项目管理过程: 指导与管理项目执行: 实现项目目标而执行项目管理计划中所确定的工作的过程实施质量保证:审计质量要求和质量控制测量结果组建项目团队&#xf…

一步一步学Ruby(二十一):文件操作2

1、打开读取文件 file File.open( "cnblogslink.txt" ) file.each { |line| print "#{file.lineno}. ", line } file.close 输出: 1. 社区 2. 新闻 3. 社区 4. 新闻 5. 招聘 6. 博问 7. 小组 8. 闪存 9. 网摘 10. .NET频道 file.lineno显示的是行号 2、…

如何用全球顶级名画,成为全行业最令人羡慕的人?

▲ 点击查看马克思曾说:“如果你想得到艺术的享受,那你就必须是一个有艺术修养的人。”假如现在有下面两幅画,站在艺术的角度上,你会选择哪个呢?或者我们可以换一个问法:哪一种猫才是最符合你心中标准的猫&…

电脑启动后黑屏只有鼠标_电脑加装固态硬盘后出现黑屏或蓝屏解决方案

以下内容以本人遇到的真实问题为例,从找到加装固态硬盘后出现黑屏及蓝屏的原因,到成功解决问题,请各位看官听我娓娓道来,也希望为遇到同样问题的广大网友拨云见日,废话不多说,走起……一、问题描述:1. 背景…

mysql数据库的备份和二进制日志恢复

mysql备份和bin-log日志备份数据: mysqldimp -uroot -p test -l -F /tmp/test.sql-l 读锁-F即flush logs, 可以重新生成的日志文件,当然包括log-bin日志。查看bin-log日志用 mysql>show master status;清空表数据 truncate tables;根据二进制bin-log…

2021编程语言排行:C#飙升,Python蝉联榜首

文 | 白开水不加糖出品 | OSC开源社区(ID:oschina2013)IEEE Spectrum 2021 年度编程语言排行榜现已发布。该榜单一年发布一次,今年是其发布的第八年。今年的排行榜包含 55 种语言,其排序综合 8 个重要线上数据源的 11 …

C# 生成私钥和公钥

应该有好多方法,我就用系统自动生成的。 RSACryptoServiceProvider RSAalg new RSACryptoServiceProvider(); stringstr_Private_Key Convert.ToBase64String(RSAalg.ExportCspBlob(true)); stringstr_Public_Key Convert.ToBase64String(RSAalg.ExportCspBlob(f…

GitHub中教程资源 | 共21个图形绘制教程

一边学习,一边总结,一边分享! 写在前面 今天分享在GitHub中找到的教程资源,此教程是来自iMeta期刊及“农心生信工作室”的作品。发表在GitHub中,大家可以自行下载。 包含了21个图形的绘制,我大体看了一下…

php 中 t怎么打开,怎么在PHP项目中实现一个explort() 功能

怎么在PHP项目中实现一个explort() 功能发布时间:2020-12-28 16:36:06来源:亿速云阅读:108作者:Leah这篇文章给大家介绍怎么在PHP项目中实现一个explort() 功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴…

随便想想

不知不觉,毕业已经有三个多月了,工作也三个多月了。有时候静下心来想想,时间过得真快,挺怀念大学三年里所过的每分每秒。从小学到大学,有过各种各样的记忆,而大学的记忆留给我的是最宝贵。在这三年里&#…

盘点那些欺骗我感情的数学定理

全世界只有3.14 % 的人关注了爆炸吧知识一直以来,关于定理、公式的命名,人们都倾向于用数学家的名字命名,不仅简单方便,还可以达到纪念创立人的效果。不过,也不是每一次都这么好的,超模君发现,有…

linux启动mysql_Linux服务器安装Mysql教程

最开始用服务器的时候,也是对这些环境的安装操作极其陌生,找了很多方式,写这边文章就是为了让更少的童鞋走弯路,下面我们看看具体的操作流程。1、首先关闭linux的防火墙,执行命令chkconfig iptables off2、从mysql官网…

人的一生能交多少朋友?

http://blog.sina.com.cn/s/blog_6071466501010ssw.html友谊是人生中最宝贵的精神财富之一。许多人都认为,人的一生交的朋友越多越好。但是最近科学研究表明,人类的好友圈子不是想有多大就有多大,因为人的交友能力是有极限的。著名的邓巴定律…

写给80后,我们的人生才刚刚开始

今天看到一个老同学发朋友圈,才醒起她很久没有写公众号文章了。再加上其他诱因,于是有了这篇文章,希望这碗鸡汤能激发一下她和同是80年后的朋友们。我是和她同一时期开始写公众号文章的。除此之外:1。在那热血青春时代&#xff0c…

python extended,python list中的append 与 extended 的区别

append:说明:append() 方法用于在列表末尾添加新的对象。使用方法: list.append(obj) # obj 添加到列表末尾的对象;该方法无返回值,但是会修改原来的列表。extend:说明:extend() 函数用于在列表末尾一次性追加另一个序…

突破SA的各种困难

方法1:查询分离器连接后第一步执行:use master 第二步执行:sp_dropextendedproc xp_cmdshell 然后按F5键命令执行完毕三.常见情况恢复执行xp_cmdshell.1 未能找到存储过程master..xpcmdshell.恢复方法:查询分离器连接后,第一步执行:EXEC sp_a…

黑人抬棺,虽迟但到

1 脑子里有声音了▼2 人活着可太难了▼3 受疫情影响,汤姆哈迪在家种菜了▼4 4岁小朋友的涂鸦对颜色搭配的天赋简直点满▼5 白天哈哈哈哈哈哈哈哈晚上呜呜呜呜呜呜呜呜▼6 反正是最后的晚餐了通融一下嘛▼7 喵娘报恩▼你点的每个赞,我都认真当成了…

本地搭建K8s环境,并配置Ingress代理(1)

书接上文,上回说到了在Linux系统搭建K8s环境,通过脚本一键处理,具体可参考《入门K8s:一键脚本搭建Linux服务器集群》。虽然Linux系统很不错,而且也推荐都买一个做练习,但是不可避免的会遇到一些小问题&…

简单链接Simplelink 传感器标签SensorTag

2019独角兽企业重金招聘Python工程师标准>>> 传感器标签现在支持iBeacon技术 为了让你的传感器标签升级到与iBeancon技术兼容,你需要和苹果公司签约一个iBeacon许可,然后你可以请求访问软件,通过点击这里http://www.ti.com/tool/s…

苹果手机透明桌面_原来苹果手机辨别真假很容易!查看桌面1个图标,就能轻松分辨...

要说哪个品牌的手机贵,大家想到的肯定是苹果手机啦,所以说很多朋友都害怕自己买到假货。其实分辨苹果手机是不是正品很容易,只需查看桌面1个图标,就能辨别出手机的真假哦。一、从细节入手1.桌面时钟不知道大家发现没,i…