当前位置:   article > 正文

分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了

分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了

image

前言

实际上,.NET Core 内部也内置了一套日志系统,它是一个轻量级的日志框架,用于记录应用程序的日志信息。

它提供了 ILogger 接口和 ILoggerProvider 接口,以及一组内置的日志提供程序(如 Console、Debug、EventSource 等),可以方便地进行日志记录和输出。

平时做一些测试或个人的研究,建议直接使用 .NET Core 自带的日志系统就可以了,方便快捷。

Step By Step 步骤

  1. 创建一个 .NET Core Console 项目

  2. 从 Nuget 安装以下包

    Microsoft.Extensions.Logging.Console

  3. 打开 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<ILogger<Program>>();
    	logger.LogWarning("这是一条警告消息");
    	logger.LogError("这是一条错误消息");
    	string age = "abc";
    	logger.LogInformation("用户输入的年龄:{0}", age);
    	
    	//模拟操作失败,输出错误日志
    	try
    	{
    		int i = int.Parse(age);
    	}
    	catch (Exception ex)
    	{
    		logger.LogError(ex, "解析字符串为int失败");
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
  4. 运行后就可以看到效果了

总结

  1. .NET Core 中自带的日志系统可以把日志记录到控制台、事件日志、调试窗口等地方,非常适合平时个人做测试或者代码研究
  2. .NET Core 中的日志提供了标准接口,允许开发人员编写第三方实现,使用第三方日志提供程序把日志记录到文件、日志服务器等地方。
  3. 常用的第三方日志提供程序有 Log4Net、NLog、Serilog,推荐使用 NLog 或者 Serilog,它们不仅使用简单,而且功能强大(可以看我之前的文章
  4. 在分布式环境下,最好采用集中式的日志服务器,各台服务器都把产生的日志写入日志服务器。集中式的日志服务器推荐使用 Exceptionless

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。

都看到这了,求个点赞、关注、在看三连呗,感谢支持。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/734497
推荐阅读
相关标签
  

闽ICP备14008679号