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

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

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

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

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

1、Serilog

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

使用方法

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

Install-Package SerilogInstall-Package Serilog.Sinks.Console

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

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

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

使用方法

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

Install-Package NLog

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

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

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

使用方法

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

Install-Package log4net

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

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

使用方法

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

Install-Package Microsoft.Extensions.Logging

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

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

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

使用方法

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

Install-Package Gibraltar.Agent

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • K6:面向开发人员的现代负载测试工具

    K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 把LangChain跑起来的三个方法

    把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 每天一道面试题-CPU伪共享

    每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 使用AIGC工具提升安全工作效率

    使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 年轻人的“职场羞耻感”,无处不在

    年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    10月30日,据韩国媒体消息,自今年年初以来一直在上涨的 DRAM 存储器的交易价格仅在本月就下跌了近 10%,此次是全年首次降价,而NAND 闪存本月价格与上月持平。市
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top