• 分享一份 .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>();
      	logger.LogWarning("这是一条警告消息");
      	logger.LogError("这是一条错误消息");
      	string age = "abc";
      	logger.LogInformation("用户输入的年龄:{0}", age);
      	
      	//模拟操作失败,输出错误日志
      	try
      	{
      		int i = int.Parse(age);
      	}
      	catch (Exception ex)
      	{
      		logger.LogError(ex, "解析字符串为int失败");
      	}
      }
      
    4. 运行后就可以看到效果了

    总结

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

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

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

  • 相关阅读:
    自动化测试年薪50万你敢想吗?阿里P7都不淡定了...
    matlab 求数列极限
    【目标检测】50、YOLOX | 回归 anchor-free 的 YOLO 依然能打!
    黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)
    web自动化测试详细流程和步骤
    Agile Management
    C++11 Thead线程和线程池
    linux中35个find案例
    word2vec发展过程
    Paragon NTFS For Mac2023破解版免费下载安装激活
  • 原文地址:https://blog.csdn.net/yangshuquan/article/details/139665237