天天看点

.NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)

日志框架必要的包:

1、Microsoft.Extensions.Logging

2、Microsoft.Extensions.Logging.Console

3、Microsoft.Extensions.Logging.Debug

4、Microsoft.Extensions.Logging.TraceSource

5、Microsoft.Extensions.Configuration.Json

代码通过一个控制台程序,展示从读取配置到整个日志的记录器的构造和日志记录的过程

首先从文件读取配置

接着构造容器,注入对象

AddLogging 源码

配置文件,appsettings.json

Logging 里面定义了 Log 的级别,Key 代表 Log 的名称,Value 代表 Logger 的级别

Console 是指针对 Console 的输出提供程序配置的日志级别

下面看一下日志级别的定义,按照严重程度从低到高

也就是说我们可以指定日志输出的最低级别

接着 BuildServiceProvider,从容器里面获取 ILoggerFactory

ILoggerFactory 的定义

获取到 ILoggerFactory 之后就可以创建日志记录器

因为配置文件中 alogger 的级别是 Trace

所以这三行都会被打印出来

启动程序,输出如下:

方括号的内容是 EventID,也就是针对每一个记录的位置事件,可以为它分配一个事件 ID,代码中在 LogDebug 的时候定义了一个事件 ID 是2001

假如说把 alogger 的日志级别调整成 Information

那么 Debug 级别的信息没有输出的

GitHub源码链接:

https://github.com/MINGSON666/Personal-Learning-Library/tree/main/DotNetCoreDevelopmentActualCombat/LoggingSimpleDemo

.NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)
.NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)
.NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

如有任何疑问,请与我联系 ([email protected]) 。