.NET6之MiniAPI(八):日志

说明:本篇简单说一下日志中常用的几个点,关于日志,后面重点会说到三方日志提供程序

在MiniAPI中,可以通过方法或构造函数中,获取框架自动注入的日志类型,如下方式:

app.MapGet("/test", (ILogger<Program> logger) =>
{logger.LogInformation(new EventId(1234), "Information");return "ok";
});
public class LogDemoService
{private readonly ILogger<LogDemoService> _logger;public LogDemoService(ILogger<LogDemoService> logger){_logger = logger;}public void Demo01(){_logger.LogInformation("demo01");}
}

日志的级别:

public enum LogLevel{Trace, Debug,Information,Warning,Error,Critical,None}

Trace = 0、Debug = 1、Information = 2、Warning = 3、Error = 4、Critical = 5 和 None = 6。日志级别对应的方法:LogTrace(),LogDebug(),LogInformation(),LogWarning(),LogError(),LogCritical()。


日志配置:

当ASPNETCORE_ENVIRONMENT环境变量配置不同时,asp.net core会读取不同的配置文件,当在vs中进行开发时,通常这个变量值为Development,开发环境下的日志配置,appsettings.Development.json

"Logging": {"LogLevel": {"Default": "Debug","Microsoft.AspNetCore": "Warning"}

生产环境下的日志配置,appsettings.json

"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}}

Logging下的第一级通常是日志提供程序,内置的提供程序有

  • 控制台

  • 调试

  • EventSource

  • EventLog

  • AzureAppServicesFile

  • AzureAppServicesBlob

  • ApplicationInsights

比如控制台提供程序配置如下,IncludeScopes是否日志在输出时带有作用域信息,LogLevel是不同类别的日志输出级别,比如默认的是Information和以上的级别才会输出到控件台上,Microsoft.AspNetCore是警告级别和以上的才会输出,而我自定义的MiniAPICourse.Sevices是Debug和以上的级别都会输出,利用这个设置可以重点输出自己开发功能的低级别日志。

"Logging": {"Console": {"IncludeScopes": true,"LogLevel": {"Microsoft.AspNetCore": "Warning","Default": "Information","MiniAPICourse.Services": "Debug"      }}}

如果在日志配置中直接写LogLevel,则应用到所有日志提供程序,如appsettings.Development.json和appsettings.json中的写法。


日志类别:

在从服务容器获取日志时,要带上当前所在的类名,如LogDemoService,就是当前日志的类别,所有使用这个_logger的输出,都带有这个类型的名称。

private readonly ILogger<LogDemoService> _logger;

ed06de6e87ab57544e829667af86ef19.png

关于上图中类型后面的[0],就是日志事件ID,可以输出日志是填上。

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

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

相关文章

为什么你闻不到自己胳肢窝的味道?

▲ 点击查看生活中&#xff0c;我们常常会选择性地忽略一些事。吃螺蛳粉的人不会觉得屋子臭&#xff0c;而别人身上有一点烟味就可以闻到。公司的厕所&#xff0c;别人用完后&#xff0c;总觉得比自己用完时更臭。夏天胳肢窝出汗的味道&#xff0c;自己从来都闻不到&#xff0c…

Android插件化开发之Hook StartActivity方法

第一步、先爆项目demo照片&#xff0c;代码不多&#xff0c;不要怕 第二步、应该知道Java反射相关知识 如果不知道或者忘记的小伙伴请猛搓这里&#xff0c;Android插件化开发基础之Java反射机制研究 http://blog.csdn.net/u011068702/article/details/49863931第三步、应该知道…

ArcGis融合小多边形到相邻多边形

&#xfeff;&#xfeff;在有的时候&#xff0c;我们的数据中可能会有许多细小的图斑&#xff0c;这些并不是我们想要的&#xff0c;需要将它们合并到周围的图斑中&#xff0c;如果一个一个手动合并&#xff0c;那工作量之大简直不敢想象。现在借助ArcGIS的Eliminate工具可以很…

oracle 48小时内_近了近了,内马尔正大步向巴萨走来,西媒称有望48小时内敲定转会...

“即将完成&#xff01;”8月28日的西班牙《每日体育报》给巴萨球迷送上了好消息&#xff0c;称在巴萨高层与大巴黎高层进行最新一轮谈判后&#xff0c;内马尔已经非常接近巴萨了。按照《每日体育报》的说法&#xff0c;巴萨和大巴黎有望在未来24到48小时内就内马尔的转会达成协…

《随机过程》布朗运动理论中的两个反常问题

全世界只有3.14 % 的人关注了爆炸吧知识1827 年&#xff0c;英国植物学家布朗&#xff08;Brown&#xff09;用显微镜观察悬浮在液体中的花粉微粒时&#xff0c;发现花粉微粒总是在做无规则运动。后来人们发现&#xff0c;这是一种广泛存在于自然界、工程技术和社会经济等领域中…

linux之用2张图片描述vim常见命令

对了&#xff0c;使得光标跳转到最后一行是这个命令 G

读《好好学习:个人知识管理精进指南》

关于学习的文章之前写过两篇&#xff1a;《掌握好的学习方法&#xff0c;让你在职场更有竞争力》《程序员是终身学习的职业&#xff0c;应该怎么学习&#xff1f;》我们都是终身学习者&#xff0c;我深知学习的重要性&#xff0c;所以每隔一段时间&#xff0c;有些新的心得和想…

跨域解决方案大全

什么是跨域 注&#xff1a;本文完整示例地址先来说一个概念就是同源&#xff0c;同源指的是协议&#xff0c;端口&#xff0c;域名全部相同。 同源策略&#xff08;Same origin policy&#xff09;是一种约定&#xff0c;它是浏览器最核心也最基本的安全功能&#xff0c;如果缺…

2013年下半年信息系统项目管理师考试试卷(回忆版)

2013年下半年信息系统项目管理师上午试卷&#xff08;网友回忆版&#xff09;信息系统的生命周期可以分为立项、开发、运维和消亡4个阶段&#xff0c;应在信息系统建设的&#xff08;1&#xff09;考虑系统消亡的条件和时机。&#xff08;1&#xff09;A&#xff0e;初期B&…

酱油和gbt酱油哪个好_酱油可不是越贵越好?看清瓶身上的5个字,教你1分钟买到好酱油...

今天妈妈做饭说酱油用完了&#xff0c;让我去打酱油的地方打5毛钱的酱油&#xff0c;我拿起塑料壶去打酱油&#xff0c;闻起来香香的&#xff0c;一个推自行车的过来&#xff0c;我问他这酱油是勾兑酱油吗&#xff1f;推自行车的小哥&#xff0c;看了我一眼&#xff0c;问我是监…

让 WPF 的 RadioButton 支持再次点击取消选中的功能

让 WPF 的 RadioButton 支持再次点击取消选中的功能目录让 WPF 的 RadioButton 支持再次点击取消选中的功能零、前言一、方法一&#xff1a;后台直接处理二、方法二&#xff1a;提取为自定义控件&#xff08;用户控件&#xff09;三、方法三&#xff1a;附加行为法独立观察员 2…

java数组转换成string_java面试复习重点:类的管理及常用工具,教你抓住面试重点

java复习&#xff1a; 类的管理及常用工具类包写在程序文件的第一行一个Java 源文件中只能声明一个包&#xff0c;且声明语句只能作为源文件的第一条指令导入类能导入非public类&#xff0c;但是不能用因为在其他包缺省的权限用不了package Testp;import Testpackage.*;public …

ubuntu 新建的用户 table 无法补全命令 解决办法

为什么80%的码农都做不了架构师&#xff1f;>>> vi /etc/passwd 用adduser命令新增了用户之后&#xff0c;发现在该新建用户下的命令终端&#xff0c;使用方向键无法调出历史命令&#xff0c;同时tab键也无法补全输入命令。 找到 你新增的用户xxx 修改/bin/bash…

【Unity3D基础】让物体动起来②--UGUI鼠标点击逐帧移动

背景 上一篇通过鼠标移动的代码很简单&#xff0c;所以看的人也不多&#xff0c;但是还是要感谢“武装三藏”在博客园给出的评论和支持&#xff0c;希望他也能看到第二篇&#xff0c;其实可以很简单&#xff0c;而且是精灵自控制&#xff0c;关键是代码少是我喜欢的方式&#x…

一个有趣的Go项目,3D界面管理k8s集群,真好玩!

大家好&#xff0c;我是小碗汤&#xff0c;今天分享一个用Golang开发&#xff0c;很好玩的工具KubeCraftAdmin[1]&#xff1a;用Minecraft方式管理k8s的工具&#xff0c;感兴趣的兄弟不妨玩一玩。文末有视频&#xff0c;供您鉴赏~Minecraft&#xff1a;我的世界&#xff0c;是微…

java 数组拼接_打印Java数组最优雅的方式是什么?这波操作闪瞎我

在 Java 中&#xff0c;数组虽然是一个对象&#xff0c;但并未明确的定义这样一个类&#xff0c;因此也就没有覆盖 toString() 方法的机会。如果尝试直接打印数组的话&#xff0c;输出的结果并不是我们预期的结果。那有没有一些简单可行的方式呢&#xff1f;如果大家也被这个问…

AmazeUI基本样式

2019独角兽企业重金招聘Python工程师标准>>> AmazeUI是一个轻量级、Mobile first的前端框架&#xff0c;基于开源社区流行的前端框架编写。 Normalize AmazeUI使用了normalize.css&#xff0c;但做了些调整&#xff1a;html添加了-webkit-font-smoothing:antialiase…

Oracle基础中的基础视频讲座录像(西安)供免费下载

下载地址播放器也在上述目录中。记得那年园博会&#xff0c;培训中间有一天参观&#xff1a;转载于:https://blog.51cto.com/botang/1323099

她13岁自己造飞机,17岁进麻省理工,3篇黑洞论文被霍金引用......

全世界只有3.14 % 的人关注了爆炸吧知识13岁的时候&#xff0c;你在干嘛&#xff1f;我想&#xff0c;绝大多数人都没有萨布丽娜这么硬核——独自组装飞机。之后&#xff0c;16岁的萨布丽娜完成了生涯首飞&#xff0c;历史第一年轻。17岁时&#xff0c;她考上麻省理工&#xff…