Serilog简介

栏目: 数据库 · 发布时间: 6年前

内容简介:首先安装Nuget包:其中包Serilog是Log核心库,Serilog.Sinks.Console是Log的控制台输出库,这个也是日志框架的一贯策略,一个核心库加多个输出库组合使用,这样可以保持良好的扩展性。

Serilog 是.net 下的新兴的日志框架,本文这里简单的介绍一下它的用法。

首先安装Nuget包:

  • Install-Package Serilog
  • Install-Package Serilog.Sinks.Console

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

简单的示例:

using ( var  log =  new   LoggerConfiguration ()
                . WriteTo . Console ()
                . CreateLogger ())
{
    log. Information ( "Hello, Serilog!" );
    log. Warning ( "Goodbye, Serilog." );
}

输出结果如下:

Serilog简介

LoggerConfiguration

这里用了一个LoggerConfiguration对象,它主要用于创建和设置Log对象,类似于Nlog里面的LogManager类。这里主要用它两个方法:

  • WriteTo:WriteTo属性用来设置日志的输出,Serilog将其称为Sink(水槽),还是比较形象的。
  • CreateLogger:用于创建一个 ILogger 类型的 Logger 对象 .

ILogger

ILogger对象用于记录日志,和其他日志框架差不多。Serilog日志级别分为如下5级

  • Verbose,
  • Debug,
  • Information,
  • Warning,
  • Error,
  • Fatal,

大多数的日志也是这样5级,只是有的名称叫的不同(NLog第1级叫Trace,其它的一致),每一级别对应一个写Log的函数:

log.Verbose("verbose");
log.Information("info");
log.Debug("debug");
log.Warning("warning");
log.Error("err");
log.Fatal("fatal");

另外,ILogger对象还有一个Dispose方法,用于关闭日志对象。

全局Logger对象

在实际的使用过程中,往往并不是每次使用都去创建一个ILogger,一种方式是通过依赖注入的方式创建一个全局的Logger。不过这种方式需要引入DI框架。在小程序中使用不算方便。

另一种方式是直接使用静态的Log类,它也携带了写入日志的方法,用起来非常方便。

Log.Warning("warning");
Log.Error("err");
Log.Fatal("fatal");

不过Log类之前,首先必须给它关联一个ILogger。

Log.Logger = new LoggerConfiguration()
            .WriteTo.Console()
            .CreateLogger();

接收器

Serilog的输出对象称之为Sink(水槽),github上提供了大量的第三方的可用 sinks ,这里简单的列举几个常用的:

  • Console         输出到控制台
  • Debug         输出到VS的Debug窗口
  • File             输出到文件
  • Rolling File     
  • MongoDB     输出到MongoDB
  • LiteDB         输出到文件数据库LiteDB
  • SQLite          输出到文件数据库SQLite
  • SignalR         输出为SignalR服务
  • HTTP         输出到REST服务

输出格式配置

Serilog的日志输出通过LoggerConfiguration类配置,详细的配置参数可以参看官方文档: Configuration Basics 。在日常使用中,感觉更多的是直接通过LoggerConfiguration在代码中配置。


以上所述就是小编给大家介绍的《Serilog简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Servlet&JSP学习笔记

Servlet&JSP学习笔记

林信良 / 清华大学出版社 / 2010-4 / 48.00元

《Servlet&JSP学习笔记》以“在线书签”项目贯穿全书,随着每一章的讲述都在适当的时候将 Servlet & JSP技术应用于“在线书签”程序之中,并作适当修改,以了解完整的应用程序构建方法。《Servlet&JSP学习笔记》内容包括简单的Web应用程序,开发简单的Servlet & JSP合理管理,JSP的使用,整合数据库等相关内容,《Servlet&JSP学习笔记》适合Servlet ......一起来看看 《Servlet&JSP学习笔记》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具