本文介绍: Serilog针对 .NET 应用程序的流行日志记录框架。它以其灵活性、易用性和可扩展性而闻名。借助 Serilog开发人员可以轻松记录应用程序中的事件错误消息。它支持结构化日志记录,能够以结构化格式存储日志数据,便于查询分析。Serilog一个关键特性是其能够使用不同的“sinks”(日志事件目标位置)。这些“sinks可以包括控制台文件数据库以及第三方服务,如 Seq 或 Elasticsearch

Serilog .net下的新兴的日志框架

1.Serilog简介

Serilog针对 .NET 应用程序的流行日志记录框架。它以其灵活性、易用性和可扩展性而闻名。借助 Serilog开发人员可以轻松记录应用程序中的事件、错误和消息。它支持结构化日志记录,能够以结构格式存储日志数据,便于查询分析

Serilog一个关键特性是其能够使用不同的“sinks”(日志事件目标位置)。这些“sinks可以包括控制台文件数据库以及第三方服务,如 Seq 或 Elasticsearch

开发人员还可以通过 Serilog 为日志事件添加额外属性和上下文信息,从而更容易地追踪问题理解应用程序流程。Serilog 还支持不同的输出格式比如 JSON 或纯文本,进一步增强了其灵活性。

2.添加需要的包引用

在这里插入图片描述

3.编写整个日志代码

// 创建日志
Log.Logger = new LoggerConfiguration()
     .WriteTo.File("log.txt",outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}[{Level:u3}] {Message:ij}{Exception}{NewLine}")
    .CreateLogger();

// 消除日志
Log.CloseAndFlushAsync();

4.使用日志代码

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

int a = 10, b = 0;
try
{
    Log.Debug("Dividing {A} by {B}", a, b);
}
catch (Exception ex)
{
    Log.Error(ex.Message);
    Log.Error(ex, "Something went wrong");
}
finally
{
    await Log.CloseAndFlushAsync();
}

5.输出模板中可以显示许多内置属性

6.日志demo

2023-11-30 14:30:25.987 +08:00 [INF] Hello, world!
2023-11-30 14:30:26.062 +08:00 [DBG] Dividing 10 by 0
2023-11-30 14:30:26.107 +08:00 [ERR] Something went wrong
System.DivideByZeroException: Attempted to divide by zero.
   at Program.Main() in F:学习SerilogConsoleAppProgram.cs:line 21

2023/11/30

原文地址:https://blog.csdn.net/qq1084517825/article/details/134714237

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_20608.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注