.net core下优秀的日志框架使用解析,附源代码

这篇具有很好参考价值的文章主要介绍了.net core下优秀的日志框架使用解析,附源代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 .NET Core 中,日志是一个非常重要的组件,它可以帮助我们记录应用程序的运行情况,以便在出现问题时进行排查。在本文中,我们将介绍五个优秀的 .NET Core 日志框架,它们分别是 Serilog、NLog、Log4Net、
Microsoft.Extensions.Logging 和 Loupe。我们将为每个框架提供使用方法及步骤,并提供源代码示例。

1. Serilog

Serilog 是一个高度可扩展的 .NET Core 日志框架,它支持多种输出格式,包括控制台、文件、Elasticsearch 等。Serilog 的特点是可配置性强,支持链式调用,可以自定义日志格式和输出方式。

使用方法

  1. 安装 Serilog NuGet 包:
Install-Package Serilog
Install-Package Serilog.Sinks.Console
  1. 在程序入口处配置 Serilog:
using Serilog;

public static void Main(string[] args)
{
    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug()
        .WriteTo.Console()
        .CreateLogger();

    // ...
}
  1. 记录日志:
Log.Information("This is an information message.");
Log.Warning("This is a warning message.");
Log.Error("This is an error message.");

示例代码

using Serilog;

public class Program
{
    public static void Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Debug()
            .WriteTo.Console()
            .CreateLogger();

        Log.Information("Hello, Serilog!");

        Log.CloseAndFlush();
    }
}

2. NLog

NLog 是一个流行的 .NET Core 日志框架,它支持多种输出方式,包括控制台、文件、数据库等。NLog 的特点是配置简单,易于使用,可以自定义日志格式和输出方式。

使用方法

  1. 安装 NLog NuGet 包:
Install-Package NLog
  1. 在程序入口处配置 NLog:
using NLog.Web;

public static void Main(string[] args)
{
    var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

    // ...
}
  1. 记录日志:
logger.Info("This is an information message.");
logger.Warn("This is a warning message.");
logger.Error("This is an error message.");

示例代码

using NLog.Web;

public class Program
{
    public static void Main(string[] args)
    {
        var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

        logger.Info("Hello, NLog!");

        LogManager.Shutdown();
    }
}

3. Log4Net

Log4Net 是一个成熟的 .NET Core 日志框架,它支持多种输出方式,包括控制台、文件、数据库等。Log4Net 的特点是稳定性高,配置灵活,可以自定义日志格式和输出方式。

使用方法

  1. 安装 Log4Net NuGet 包:
Install-Package log4net
  1. 在程序入口处配置 Log4Net:
using log4net;
using log4net.Config;

public static void Main(string[] args)
{
    XmlConfigurator.Configure(new FileInfo("log4net.config"));

    var logger = LogManager.GetLogger(typeof(Program));

    // ...
}
  1. 记录日志:
logger.Info("This is an information message.");
logger.Warn("This is a warning message.");
logger.Error("This is an error message.");

示例代码

using log4net;
using log4net.Config;

public class Program
{
    private static readonly ILog logger = LogManager.GetLogger(typeof(Program));

    public static void Main(string[] args)
    {
        XmlConfigurator.Configure(new FileInfo("log4net.config"));

        logger.Info("Hello, Log4Net!");
    }
}

4. Microsoft.Extensions.Logging


Microsoft.Extensions.Logging 是 .NET Core 自带的日志框架,它支持多种输出方式,包括控制台、文件、EventSource 等。Microsoft.Extensions.Logging 的特点是易于集成,可以与 .NET Core 的依赖注入框架一起使用。

使用方法

  1. 安装 Microsoft.Extensions.Logging NuGet 包:
Install-Package Microsoft.Extensions.Logging
  1. 在程序入口处配置 Microsoft.Extensions.Logging:
using Microsoft.Extensions.Logging;

public static void Main(string[] args)
{
    var loggerFactory = LoggerFactory.Create(builder =>
    {
        builder.AddConsole();
    });

    var logger = loggerFactory.CreateLogger<Program>();

    // ...
}
  1. 记录日志:
logger.LogInformation("This is an information message.");
logger.LogWarning("This is a warning message.");
logger.LogError("This is an error message.");

示例代码

using Microsoft.Extensions.Logging;

public class Program
{
    private static readonly ILogger logger;

    static Program()
    {
        var loggerFactory = LoggerFactory.Create(builder =>
        {
            builder.AddConsole();
        });

        logger = loggerFactory.CreateLogger<Program>();
    }

    public static void Main(string[] args)
    {
        logger.LogInformation("Hello, Microsoft.Extensions.Logging!");
    }
}

5. Loupe

Loupe 是一个全功能的 .NET Core 日志框架,它支持多种输出方式,包括控制台、文件、数据库、Web 界面等。Loupe 的特点是功能强大,支持分析、监控、报警等多种高级功能。

使用方法

  1. 安装 Loupe NuGet 包:
Install-Package Gibraltar.Agent
  1. 在程序入口处配置 Loupe:
using Gibraltar.Agent;

public static void Main(string[] args)
{
    Log.StartSession();

    // ...
}
  1. 记录日志:
Log.Information("This is an information message.");
Log.Warning("This is a warning message.");
Log.Error("This is an error message.");

示例代码

using Gibraltar.Agent;

public class Program
{
    public static void Main(string[] args)
    {
        Log.StartSession();

        Log.Information("Hello, Loupe!");

        Log.EndSession();
    }
}

以上是五个优秀的 .NET Core 日志框架的介绍和使用方法。这些框架各有特点,可以根据实际需求选择合适的框架。无论选择哪个框架,记得在程序入口处配置日志,并在适当的地方记录日志,以便在出现问题时进行排查。

 

.net core下优秀的日志框架使用解析,附源代码文章来源地址https://www.toymoban.com/news/detail-747546.html

到了这里,关于.net core下优秀的日志框架使用解析,附源代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#中LINQ的使用知多少?LINQ常功能整理,实例源代码解析

      LINQ(Language-Integrated Query)是C#语言中的一个强大的查询技术,它提供了一种统一的查询语法,可以用于查询和操作各种数据源,包括集合、数据库、XML等。下面详细描述了LINQ的20个功能点,并提供了相应的源代码。 查询集合中的所有元素: 使用条件过滤集合中的元素:

    2024年02月05日
    浏览(23)
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-2】 - 配置管理-Mvc【含请求日志打印】

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【4-1】 - 配置管理-Kestrel【含https启用】 本篇继续介绍下一个内容: 界面如图: 以下为配置说明: 控制 Taurus 的 Mvc 是否启用,比如网关、或注册中心,或者使用其它Mvc框架,可以选择不启用。 如正常访问Mvc时: 禁用它后:

    2024年02月11日
    浏览(14)
  • ASP.NET网络在线考试系统(源代码+论文)ASP.NET网络商店销售管理系统的设计与实现(源代码+论文)

    引言 随着网络技术的飞速发展,网络经济与人们的生活越来越紧密的联系在一起,随着信息技术的发展,网上购物与网上销售也在逐渐发展和普及。消费者与销售商都迫切需要一种简便与高速高效的购物与销售方式,在线商店管理系统的出现正好满足人们的这种需要,通过网

    2024年02月05日
    浏览(32)
  • 查看.Net源代码vs版本号

    方法:用记事本打开vs项目的.sln文件. 第2行就是这个源代码包的开发软件vs版本号了 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Microso

    2024年02月11日
    浏览(17)
  • 抖音seo源码-源代码开发搭建-开源部署操作日志

      抖音seo源码开发是一项非常重要的技术,在抖音上,有很多视频,如果你想让自己的视频脱颖而出,那么就需要优化自己的seo源码。不过,为了保护用户的隐私,抖音并不公开其seo算法的细节,因此需要开发者自己探索。抖音SEO矩阵系统源码开发功能模型是指在抖音平台上

    2024年02月13日
    浏览(15)
  • .Net Core中使用DiagnosticSource进行日志记录

    System.Diagnostics.DiagnosticSource 可以丰富地记录程序中地日志,包括不可序列化的类型(例如 HttpResponseMessage 或 HttpContext)。 System.Diagnostics.DiagnosticSource 通过订阅发布模式运行,我们可以根据自己地需要发现数据源并订阅感兴趣的数据源。   DiagnosticSource 与 ILogger 区别 一般来说

    2024年03月12日
    浏览(33)
  • .net下优秀的MQTT框架MQTTnet使用方法,物联网通讯必备

      MQTTnet 是一个高性能的MQTT类库,支持.NET Core和.NET Framework。 MQTTnet 原理: MQTTnet 是一个用于.NET的高性能MQTT类库,实现了MQTT协议的各个层级,包括连接、会话、发布/订阅、QoS(服务质量)等。其原理涉及以下关键概念: MqttClient:  MqttClient 是MQTTnet库中表示客户端的主要类

    2024年02月05日
    浏览(25)
  • .Net Core 使用 TagProvider 与 Enricher 丰富日志

    TagProvider  [LogProperties] 与 [LogPropertyIgnore] 如果用在DTO不存在任何问题,如果用在Domain实体上,可能有点混乱。 您可能不希望因日志记录问题而使您的域模型变得混乱。对于这种情况,可以使用[TagProvider]属性来丰富日志。 我们仍然使用前面用的Network实体,这次它不再使用[L

    2024年03月19日
    浏览(16)
  • ASP.NET+SQL通用作业批改系统设计(源代码+论文)

    随着网络高速地融入当今现代人的生活, 学校对网络技术的应用也在不断地提高。 学校的教学任务十分复杂,工作也很繁琐,在教学任务中,作业的批改也是一个很重要的环节。 为了提高老师工作效率, 减轻教师的工作强度,提高作业批改的灵活性, 《通用作业批改系统》的

    2024年02月10日
    浏览(11)
  • ASP.NET猜数游戏的设计与开发(源代码+论文)

    随着科学技术和精神生活的不断提高,人们越来越多的热衷于猜数游戏这类小型休闲益智型游戏。它利用其简单的操作方式及逻辑有趣的游戏过程吸引着众多玩家。本次课题设计的即一款界面简洁、大方,休闲有趣的小型猜数游戏系统。本系统采用Microsoft Visual Studio.NET 2003开

    2024年02月07日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包