.NETCore3.0如果实现logging日志-创新互联

本篇文章给大家分享的是有关.NET Core3.0如果实现 logging日志,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

为惠山等地区用户提供了全套网页设计制作服务,及惠山网站建设行业解决方案。主营业务为成都做网站、成都网站设计、惠山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

多年的经验,日志记录是软件开发的重要组成部分。没有日志记录机制的系统不是完善的系统。在开发阶段可以通过debug附件进程进行交互调试,可以检测到一些问题,但是在上线之后,日志的记录起到至关重要的作用。它可使我们在系统出现问题之后,排查错误提供依据。

.NET Core3.0内置多种日志记录程序,并且有第三方提供的日志记录程序框架如:log4net,NLog,Serilog,elmah.io等。后面会介绍前三种日志框架如何与.NETcore3.0结合起来进行使用。

内置日志记录提供程序

ASP.NETCore 提供以下提供程序:

  • 控制台-可以在控制台查看日志输出
  • 调试-vs工具 -》开始调试-》输出窗口进行查看日志输出
  • EventSource-可使用PerfView 实用工具收集和查看日志
  • EventLog-》仅在windows系统下可以使用事件查看器查看日志
  • TraceSource
  • AzureAppServicesFile
  • AzureAppServicesBlob
  • ApplicationInsights

创建使用日志

通用主机的应用程序和非主机应用程序使用的方式也是不同的。因为通用主机内部封装了 依赖注入、logging、配置、IHostedService的实现;并且默认配置了控制台,调试,EventSource以及EventLog(仅当在windows上运行时)提供程序。源码如下

.ConfigureLogging((hostingContext, logging) =>
      {
        var isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows);

        // IMPORTANT: This needs to be added *before* configuration is loaded, this lets
        // the defaults be overridden by the configuration.
        if (isWindows)
        {
          // Default the EventLogLoggerProvider to warning or above
          logging.AddFilter(level => level >= LogLevel.Warning);
        }

        logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
        logging.AddConsole();
        logging.AddDebug();
        logging.AddEventSourceLogger();

        if (isWindows)
        {
          // Add the EventLogLoggerProvider on windows machines
          logging.AddEventLog();
        }
      })

当前文章:.NETCore3.0如果实现logging日志-创新互联
网页网址:http://hbruida.cn/article/pjcjg.html