日志
注意:暂时只对日志有一个简单的了解,后续可能会深入探讨。
日志相当于程序的“黑匣子”,程序出现问题的时候可以通过日志来查找问题。
.NET Core日志基本使用:
.NET Core中的日志系统可以把日志记录在控制台,事件日志,调试窗口等地方,还可以使用第三方日志提供程序把日志记录到文件,日志服务器等地方。
如何把日志输出到控制台:
- 首先要通过NuGet去安装Microsoft.Extensions.Logging和Microsoft.Extensions.Logging.Console.(这个是输出到控制台时安装)
- DI注入:service.AddLogging(logBuilder =>{logBuilder.AddConsole();});
- 需要记录日志的代码,注入ILogger<T>,T一般就是当前类,类名会输出到日志。
补充:ILogger中有LogTrace、LogDebug、LogInfomation、LogWarning、LogError、LogCritical这六组方法来输出不同严重级别的信息。(严重级别依次升高)
文件日志提供程序NLog:
想控制台输出日志只适合开发时使用。开发人员以及运维人员更倾向的是将日志写入存储介质中(例如写入文件),但是.NET Core没有内置的文本文件日志提供程序,需要使用Log4Net,NLog,Serilog。
下面详细讲解下NLog的使用:
- NuGet安装NLog.Extensions.Logging。项目根目录下建nlog.config(注意大小写),也可以是其他文件名,但是就需要单独配置了。nlog.config配置获取:注意:把该配置文件的属性改为如果较新则复制。(不知道的看我前面的.NET Core配置系统章节内容)
- 增加logBuilder.AddNLog().引入命名空间using NLog.Extensions.Logging;
实例如下:
可以发现,日志产生地址与 nlog.config配置文件中设定的地址相同。