本文介绍了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对象。
ILoggerILogger对象用于日志记录,类似于其他日志记录框架。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日志框架。希望对大家的学习有帮助,也希望大家多多支持。