
实际上,.NET Core 内部也内置了一套日志系统,它是一个轻量级的日志框架,用于记录应用程序的日志信息。
它提供了 ILogger 接口和 ILoggerProvider 接口,以及一组内置的日志提供程序(如 Console、Debug、EventSource 等),可以方便地进行日志记录和输出。
平时做一些测试或个人的研究,建议直接使用 .NET Core 自带的日志系统就可以了,方便快捷。
创建一个 .NET Core Console 项目
从 Nuget 安装以下包
Microsoft.Extensions.Logging.Console
打开 Program.cs,编写日志记录代码,注意注释:
// 1. 引用日志命名空间
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
// 2. 创建依赖注入容器
ServiceCollection services =new ServiceCollection();
// 3. 注入输出到控制台的日志服务
services.AddLogging(log => log.AddConsole());
// 4. 使用
using (var sp = services.BuildServiceProvider())
{
// 使用 GetRequiredService 获取日志服务
// 输出日志的时候会把泛型类型 Program 输出,便于定位日志来自哪个类
// 注意,在注入ILogger服务的时候,不能使用非泛型的ILogger接口,否则是获取不到服务的。
var logger = sp.GetRequiredService>();
logger.LogWarning("这是一条警告消息");
logger.LogError("这是一条错误消息");
string age = "abc";
logger.LogInformation("用户输入的年龄:{0}", age);
//模拟操作失败,输出错误日志
try
{
int i = int.Parse(age);
}
catch (Exception ex)
{
logger.LogError(ex, "解析字符串为int失败");
}
}
运行后就可以看到效果了
我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。
都看到这了,求个点赞、关注、在看三连呗,感谢支持。