首页 > 其他分享 >Logging简介(1)

Logging简介(1)

时间:2023-12-21 09:13:54浏览次数:31  
标签:Logging ServiceCollection 简介 loggingBuilder services 日志 logger

Logging:日志系统,用来记录软件系统,用于异常分析

日志级别:Trace<Debug(调试)<Information(信息)<Warning(提醒、警告)<Error(错误)<Critical(关键、生死攸关),可根据实际情况对每一条日志使用不同的级别

日志提供者(LoggingProvider):把日志输出到哪里:控制台、文件、数据库、邮箱、短信、微信等

这篇文件讲解输出到控制台的日志:

1、安装Nuget包:Microsoft.Extensions.Logging,日志系统基础包

2、安装Nuget包:Microsoft.Extensions.Logging.Console,控制台日志输出

3、需要使用Log的类,通过DI注入ILogger<T>即可,T一般就用当前类,这个类的名字会输出到日志,方便定位错误

 public class Test
 {
    private readonly ILogger<Test> logger;

     public Test(ILogger<Test> logger)//通过DI注入
     {
         this.logger = logger;
     }

     public void Run()
     {
         logger.LogDebug("准备登录");
         logger.LogWarning("校验失败");
         logger.LogWarning("再次校验失败");
         logger.LogError("多次登录失败");

         try
         {
             string str = null;
             str.Substring(0, 2);
         }
         catch (Exception ex)
         {
             logger.LogCritical(ex, "critical");//可以输出异常信息
         }
     }
 }

4、通过DI注册到容器 services.AddLogging(logBuilder=>{logBuilder.AddConsole();//可多个Provider

static void Main(string[] args)
{
    ServiceCollection services = new ServiceCollection();
    services.AddLogging(loggingBuilder=> {
        loggingBuilder.AddConsole();
     
        loggingBuilder.SetMinimumLevel(LogLevel.Debug);

        });
    services.AddScoped<Test>();

    using(var sp=services.BuildServiceProvider())
    {
       var test= sp.GetRequiredService<Test>();
        test.Run();
    }
}

运行结果:

 

EventLog:事件日志,是另外一种LoggingProvider,可以把日志记录到window电脑上(Linux上不可以),并使用事件查看器进行查询

1、安装Nuget包:Microsoft.Extensions.Logging.EventLog

2、在容器中添加 loggingBuilder.AddEventLog()

static void Main(string[] args)
{
    ServiceCollection services = new ServiceCollection();
    services.AddLogging(loggingBuilder=> {
        loggingBuilder.AddConsole();//控制台日志
        loggingBuilder.AddEventLog();//事件日志
        loggingBuilder.SetMinimumLevel(LogLevel.Debug);

        });
    services.AddScoped<Test>();

    using(var sp=services.BuildServiceProvider())
    {
       var test= sp.GetRequiredService<Test>();
        test.Run();
    }
}

注意,AddLogging是运行注册多个日志提供者的

运行后,找到事件查看器,可以看到Window日志中多出了几条日志,正是我们软件运行的日志

 

标签:Logging,ServiceCollection,简介,loggingBuilder,services,日志,logger
From: https://www.cnblogs.com/luohualiushui1173/p/17913978.html

相关文章

  • RSS简介
    如何订阅RSS安装RSS阅读器,这里推荐使用QuiteRSS,点此下载。选择有价值的RSS信息源(称作RSS源),或者自制RSS源,例如本博客的RSS源地址如下:http://feed.cnblogs.com/blog/u/441486/rss/将你需要的RSS源添加到自己的RSS阅读器或者在线RSS中,开启定时更新即可,如下图所示:为何使用R......
  • pycharm中间件简介
    个人理解:#中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能#django内置中间件 'django.middleware.security.SecurityMiddleware','django.contrib.s......
  • 简介PAM的认证过程及各PAM文件的作用
    MySQL用户运行MySQL服务时最大能打开的文件数,是由limits.conf文件和pam_limits.so模块共同决定的。pam_limits.so模块是一个PAM(插入式认证模块)的组件,它可以在用户登录时设置一些资源限制,例如打开文件数、内存使用量、进程数等。limits.conf文件是pam_limits.so模块的配置文件,它定......
  • spring-cloud 微服务架构所用到的技术 简介
    https://www.bilibili.com/video/BV18E411x7eThttps://blog.csdn.net/u011863024/article/details/114298270https://blog.csdn.net/u011863024/article/details/114298282https://blog.csdn.net/u011863024/article/details/1142982881、注册中心注册中心这一概念在面向服......
  • 【Spring教程21】Spring框架实战:Spring事务简介、AOP事务管理、代码示例全面详解
    欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及IDEA配置Maven环境》,本文的上一篇为《AOP(面对切面编程)知识总结》1相关概念介绍事务作用:在数据层保障一系列的数据库操......
  • Logback简介与配置详解
    在开发和维护SpringBoot应用程序时,一个强大而灵活的日志框架是至关重要的。SpringBoot默认集成了Logback,一个高性能的Java日志框架。本文将介绍如何配置Logback以满足你的日志记录需求。Logback简介官方网址:https://logback.qos.ch/Logback是一款为Java应用程序设计的日志框......
  • opencv图像处理机器学习真实项目教程(python实现)1计算机视觉简介
    1计算机视觉简介欢迎来到计算机视觉的世界。本书将带您踏上令人兴奋且快速发展的计算机视觉和图像处理世界的旅程。本书首先介绍计算机视觉和OpenCV库。然后,我们将继续介绍本课程的基本库和所需的环境设置。主要内容:计算机视觉简介计算机视觉的应用PythonOpenCVOpenCV......
  • Gowin FPGA Designer 简介
    高云FPGADesigner是高云FPGA开发的IDE软件,软件包不大,安装包241M,解压Gowin_V1.9.8.07_vin压缩包,后点击文件夹的exe安装包,直接一直按下一步,完成软件的安装,安装后在桌面会有如下图标  双击打开软件,进入主界面,如下  软件的使用,请参考软件使用视频或者在高云官......
  • IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019、VS2022)、安装、
    原文链接:https://blog.csdn.net/qq_41185868/article/details/81052119最近开始使用vs2019,应该是最新的版本。之前都是vs2015,感觉19更智能,兼容性更好,速度也更快。详细了解下这几个版本。1、简介:MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品,功能完备的I......
  • Kernel Memory 入门系列: Embedding 简介
    KernelMemory入门系列:Embedding简介在RAG模式其实留了一个问题。我们对于的用户问题的理解和文档的检索并没有提供合适的方法。当然我们可以通过相对比较传统的方法。例如对用户的问题进行关键词提取,然后通过关键词检索文档。这样的话,就需要我们提前对文档做好相关关键......