当前位置:首页 > 科技  > 软件

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

来源: 责编: 时间:2023-12-25 09:34:30 287观看
导读在 .NET Core 中,日志是一个非常重要的组件,它可以帮助我们记录应用程序的运行情况,以便在出现问题时进行排查。在本文中,我们将介绍五个优秀的 .NET Core 日志框架,它们分别是 Serilog、NLog、Log4Net、
Microsoft.Extens

HYS28资讯网——每日最新资讯28at.com

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

1、Serilog

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

使用方法

安装 Serilog NuGet 包:HYS28资讯网——每日最新资讯28at.com

Install-Package SerilogInstall-Package Serilog.Sinks.Console

在程序入口处配置 Serilog:HYS28资讯网——每日最新资讯28at.com

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

记录日志:HYS28资讯网——每日最新资讯28at.com

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 的特点是配置简单,易于使用,可以自定义日志格式和输出方式。HYS28资讯网——每日最新资讯28at.com

使用方法

安装 NLog NuGet 包:HYS28资讯网——每日最新资讯28at.com

Install-Package NLog

在程序入口处配置 NLog:HYS28资讯网——每日最新资讯28at.com

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

记录日志:HYS28资讯网——每日最新资讯28at.com

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 的特点是稳定性高,配置灵活,可以自定义日志格式和输出方式。HYS28资讯网——每日最新资讯28at.com

使用方法

安装 Log4Net NuGet 包:HYS28资讯网——每日最新资讯28at.com

Install-Package log4net

在程序入口处配置 Log4Net:HYS28资讯网——每日最新资讯28at.com

using log4net;using log4net.Config;public static void Main(string[] args){    XmlConfigurator.Configure(new FileInfo("log4net.config"));    var logger = LogManager.GetLogger(typeof(Program));    // ...}

记录日志:HYS28资讯网——每日最新资讯28at.com

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 的依赖注入框架一起使用。HYS28资讯网——每日最新资讯28at.com

使用方法

安装 Microsoft.Extensions.Logging NuGet 包:HYS28资讯网——每日最新资讯28at.com

Install-Package Microsoft.Extensions.Logging

在程序入口处配置 Microsoft.Extensions.Logging:HYS28资讯网——每日最新资讯28at.com

using Microsoft.Extensions.Logging;public static void Main(string[] args){    var loggerFactory = LoggerFactory.Create(builder =>    {        builder.AddConsole();    });    var logger = loggerFactory.CreateLogger<Program>();    // ...}

记录日志:HYS28资讯网——每日最新资讯28at.com

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 的特点是功能强大,支持分析、监控、报警等多种高级功能。HYS28资讯网——每日最新资讯28at.com

使用方法

安装 Loupe NuGet 包:HYS28资讯网——每日最新资讯28at.com

Install-Package Gibraltar.Agent

在程序入口处配置 Loupe:HYS28资讯网——每日最新资讯28at.com

using Gibraltar.Agent;public static void Main(string[] args){    Log.StartSession();    // ...}

记录日志:HYS28资讯网——每日最新资讯28at.com

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 日志框架的介绍和使用方法。这些框架各有特点,可以根据实际需求选择合适的框架。无论选择哪个框架,记得在程序入口处配置日志,并在适当的地方记录日志,以便在出现问题时进行排查。HYS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-53338-0.html.NET Core下优秀的日志框架使用解析,附源代码

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 被面试官PUA了:创建索引时一定会锁表

下一篇: Android开发中常见的Hook技术有哪些?

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 小米降噪蓝牙耳机Necklace分享:听一首歌 读懂一个故事

    在今天下午的小米Civi 2新品发布会上,小米还带来了一款新的降噪蓝牙耳机Necklace,我们也在发布结束的第一时间给大家带来这款耳机的简单分享。现在大家能见到最多的蓝牙耳机
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    &copy;自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 重估百度丨大模型,能撑起百度的“今天”吗?

    自象限原创 作者|程心 罗辑2023年之前,对于自己的&ldquo;今天&rdquo;,百度也很迷茫。&ldquo;新业务到 2022 年底还是 0,希望 2023 年出来一个 1。&rdquo;这是2022年底,李彦宏
  • 苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    据 The Elec 报道,苹果已要求其供应商为未来的 iPhone 型号开发「无边框」OLED 显示面板。苹果显然已要求三星和 LG Display 开发新的 OLED 显示面
Top