.Net 日志系统-常用日志框架

程序记录日志是非常重要的事情,下面总结常用的程序记录日志的框架。

1.Windows日志

这是Windows操作系统自带的日志记录程序,它记录了操作系统中程序所执行的各种操作。

这种方式也可以用来记录程序的各种日志,因为它只能在Windows平台使用,并且查看问题并不方便,不能放到文本中查看等等一些弊端。所以并不常用,但是也可满足.Net程序记录日志。

.Net 日志系统-Windows日志

2.Log4Net

这个是非常老牌的日志框架,项目中使用的非常普遍。之前写过几篇文章记录log4net在项目中的使用。

.net使用log4net日志框架(记录到文本)

.net使用log4net日志框架(记录到数据库)

ASP.NET Core 实现 Log4Net 的配置

3.Nlog

NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。跟log4net相比,有很多优点。

.Net 日志系统-NLog

4.Serilog

Serilog 是这几年快速崛起的Log框架之一,Serilog是以Structured logging 为基础进行设计,透过logging API 可以轻松的记录应用程式中对象属性,方便快速进行logging 内容进行查询与分析,并将其纪录内容透过json (可指定) 的方式输出。

.Net 日志系统-Serilog

5.Exceptionless

Exceptionless是一款日志记录框架,它开源、免费、提供管理界面、易于安装和使用。ExceptionLess底层采用ElasticSearch作为日志存储,提供了快速、丰富的查询API,方便我们进行系统集成。

.Net 日志系统-Serilog+Exceptionless

总结:

1.普通项目用Nlog或者Serilog输出到文本即可,个人更推荐用Serilog,因为它可以方便的实现结构化日志的输出,即使目前用不到结构化日志,后期用到了再更换日志框架就很麻烦。

2.集群部署的项目用Serilog+“集中式日志服务”。

集中式日志服务指的是把多台服务器的日志信息集中存储到一台服务器上面,例如使用Serilog将日志记录到数据库,MongoDB等地方。就可以实现“结构化,集中日志服务”。

3.如果用云服务就可以满足日志需求,就用云服务的,免得自己部署,同时很多云平台提供了丰富的日志分析报表。

如果想自己控制日志数据就自己部署。例如:Exceptionless、ELK等。

你可能感兴趣的:(杨中科.net6学习,日志,log4net,nlog,serilog,eventlog)