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

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

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

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

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

1、Serilog

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

使用方法

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

Install-Package SerilogInstall-Package Serilog.Sinks.Console

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

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

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

使用方法

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

Install-Package NLog

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

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

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

使用方法

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

Install-Package log4net

在程序入口处配置 Log4Net:3Ci28资讯网——每日最新资讯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));    // ...}

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

使用方法

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

Install-Package Microsoft.Extensions.Logging

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

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

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

使用方法

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

Install-Package Gibraltar.Agent

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 轿车从天而降电动车主被撞身亡 超速抢道所致:现场视频让网友吵翻

    近日,上海青浦区法院判决轿车从天而降电动车主被撞身亡案,轿车车主被判有期徒刑一年。案件显示当时男子驾驶轿车在上海某路段行驶,前车忽然转弯提速超车,
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己&ldquo;当家&rdquo;的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
Top