.net新兴日志框架Serilog简介

.net新兴日志框架Serilog简介

本文介绍了Serilog,它是。net,对大家的学习或者工作都有一定的参考价值。让我们跟着边肖学。

Serilog是下的一个新的日志框架。网。本文简要介绍其用法。

首先安装Nuget包:

安装包系列日志

安装包序列号。水槽。控制台

包Serilog是Log的核心库,而SeriLog。Sinks.Console是log的控制台输出库,也是log框架的一贯策略。一个核心库加多个输出库组合使用,可以保持良好的可扩展性。

简单的例子:

使用(var log=new LoggerConfiguration()

. WriteTo.Console()。CreateLogger())

{

日志。信息(你好,塞里洛!);

日志。警告(“再见,塞里洛。”);

}

输出结果如下:

LoggerConfiguration

这里我们使用LoggerConfiguration对象,主要用于创建和设置日志对象,类似于Nlog中的LogManager类。这里我们主要以两种方式使用它:

写入:写入属性用于设置日志的输出。Serilog称之为水槽,还是很形象的。CreateLogger:用于创建ILogger类型的Logger对象。

ILogger

ILogger对象用于日志记录,类似于其他日志记录框架。Serilog日志日志级别分为以下五个级别

详细、调试、信息、警告、错误、致命,

大多数日志都有相同的五个级别,但其中一些有不同的名称(NLog的第一个级别称为Trace,其他的也一样),每个级别都对应一个写日志的函数:

日志。verbose( verbose );

日志。信息(“信息”);

日志。调试( debug );

日志。警告( warning );

日志。错误( err );

日志。致命的(致命);

此外,ILogger对象还有一个Dispose方法,用于关闭log对象。

全局Logger对象

在实际使用过程中,并不总是需要每次使用时都创建一个ILogger。一种方法是通过依赖注入创建一个全局日志记录器。但是,这种方法需要引入DI框架。在小程序中使用不方便。

还有一种方法是直接使用静态日志类,这个类也带有写日志的方法,使用起来非常方便。

日志。警告( warning );

日志。错误( err );

日志。致命的(致命);

但是,在使用Log类之前,您必须首先将其与ILogger相关联。

日志。Logger=new LoggerConfiguration()

. WriteTo.Console()。create logger();

接收器

Serilog的输出对象叫做Sink (sink),github上有大量第三方的可用Sink。下面是几个常用的:

控制台输出到控制台调试输出到VS调试窗口文件输出到文件滚动文件MongoDB输出到MongoDBLiteDB输出到文件数据库LiteDBSQLite输出到文件数据库SQLiteSignalR输出到SignalR服务HTTP输出到REST服务

输出格式配置

Serilog的日志输出由LoggerConfiguration类配置。详细配置参数请参考官方文档:配置基础。在日常使用中,感觉更像是通过LoggerConfiguration直接在代码中配置。

这就是这篇关于Serilog的文章。net日志框架。希望对大家的学习有帮助,也希望大家多多支持。

.net新兴日志框架Serilog简介