前言:
此时咱们对“为aspnet队列限制已超过”大体比较关切,小伙伴们都需要知道一些“为aspnet队列限制已超过”的相关内容。那么小编在网络上网罗了一些有关“为aspnet队列限制已超过””的相关内容,希望朋友们能喜欢,小伙伴们快快来学习一下吧!1、介绍
Logging组件是微软实现的日志记录组件包括控制台(Console)、调试(Debug)、事件日志(EventLog)和TraceSource,但是没有实现最常用用的文件记录日志功能(可以用其他第三方的如NLog、Log4Net。之前写过NLog使用的文章)。
2、默认配置
新建.Net Core Web Api项目,添加下面代码。
运行结果如下:
我刚开始接触的时候,我就有一个疑问我根本没有配置关于Logger的任何代码,仅仅写了注入,为什么会起作用呢?最后我发现其实是在Program类中使用了微软默认的配置。
下面为CreateDefaultBuilder方法的部分源码,整个源码在 ,可以看出在使用模板创建项目的时候,默认添加了控制台和调试日志组件,并从appsettings.json中读取配置。
3、建立自己的Logging配置
首先修改Program类
修改Startup类如下面,此类的执行顺序为 Startup构造函数 > ConfigureServices > Configure
这种结构就比较清晰明了。
4、Logging源码解析
三种配置其实都是为了注入日志相关的服务,但是调用的方法稍有不同。现在我们以第二种配置来详细看看其注入过程。首先调用AddLogging方法,其实现源码如下:
接着会调用AddConfiguration
下面来看打印日志的具体实现:
下面具体看一下Console的打印实现:
首先ConsoleLogger实现了ILogger的Log方法,并在方法中调用WriteMessage方法
下面看日志被放入队列后的具体实现:
原文地址:
标签: #为aspnet队列限制已超过