在ASP.NET Core 6.0中,官方提供了内置日志记录提供程序,如:
- 控制台-提供程序将输出记录到控制台
- EventLog-提供程序将日志输出发送到 Windows 事件日志
- …
除了内置日志功能外,也有很多第三方日志记录提供程序,这里列举几个比较热门的日志组件:
- Log4Net-(Github)[https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore]
- NLog-(Github)[https://github.com/NLog/NLog.Extensions.Logging]
- Serilog-(Github)[https://github.com/serilog/serilog-aspnetcore]
- Sentry-(Github)[https://github.com/getsentry/sentry-dotnet]
接下来,我们便学习如何在程序里使用这些组件
Log4Net
安装Log4Net包
创建配置文件
新建一个名为log4net.config的配置文件
加入配置
|
|
使用Log4Net
|
|
然后在需要记录日志的地方引入,使用ILogger,这里我依然以OrderController为例
|
|
当我们访问该接口后,会在控制台打印出相关信息
亦会在运行目录下生成名为example.log的日志文件
NLog
安装NLog
创建配置文件
新建一个名为nlog.config的配置文件,并加入如下配置
|
|
使用NLog
在Program.cs加入如下代码,
|
|
日志是使用方式不变,因为是直接替换的日志的组件,基于接口的日志调用方式不变。
Serilog
安装Serilog
使用Serilog
这里为了演示,我就偷个懒,直接将信息写在代码中,先是配置日志规则
|
|
然后在使用Serilog
|
|
一般工作中,用的比较多的可能就是这三种了,听说,Serilog的性能比较好,我没有对比过,所以也不敢乱说,大家可以自己去了解一下。日记记录,就先了解到这里,接下来,我们继续去了解一下ASP.NET Core 6.0模型绑定