温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.Net Core中如何使用Logging日志组件

发布时间:2021-08-12 11:03:40 来源:亿速云 阅读:162 作者:Leah 栏目:大数据

.Net Core中如何使用Logging日志组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  新建.Net Core Web Api项目,添加下面代码。

.Net Core中如何使用Logging日志组件

运行结果如下:

.Net Core中如何使用Logging日志组件

我刚开始接触的时候,我就有一个疑问我根本没有配置关于Logger的任何代码,仅仅写了注入,为什么会起作用呢?最后我发现其实是在Program类中使用了微软默认的配置。

.Net Core中如何使用Logging日志组件

下面为CreateDefaultBuilder方法的部分源码,整个源码在 https://github.com/aspnet/MetaPackages,可以看出在使用模板创建项目的时候,默认添加了控制台和调试日志组件,并从appsettings.json中读取配置。

.Net Core中如何使用Logging日志组件

 3、建立自己的Logging配置

  首先修改Program类

.Net Core中如何使用Logging日志组件

修改Startup类如下面,此类的执行顺序为 Startup构造函数 > ConfigureServices > Configure

.Net Core中如何使用Logging日志组件

这种结构就比较清晰明了。

4、Logging源码解析

  三种配置其实都是为了注入日志相关的服务,但是调用的方法稍有不同。现在我们以第二种配置来详细看看其注入过程。首先调用AddLogging方法,其实现源码如下:

.Net Core中如何使用Logging日志组件

接着会调用AddConfiguration

.Net Core中如何使用Logging日志组件

下面来看打印日志的具体实现: 

.Net Core中如何使用Logging日志组件

下面具体看一下Console的打印实现:

首先ConsoleLogger实现了ILogger的Log方法,并在方法中调用WriteMessage方法

.Net Core中如何使用Logging日志组件

 下面看日志被放入队列后的具体实现:

.Net Core中如何使用Logging日志组件

看完上述内容,你们掌握.Net Core中如何使用Logging日志组件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI