自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 《easylogging++的那些事》系列文章大全

《easylogging++的那些事》系列文章的所有链接在此。

2022-12-10 12:11:55 407 3

原创 easylogging++的那些事(四)源码分析(十五)浅谈easylogging++的设计理念

在 其他工具类三 中我们介绍了线程安全相关的一些类和接口,今天我们正式进入最后一个部分的分析: 设计理念篇。在 总体设计 中我们从软件开发的流程的角度分析了 easylogging++的相关设计,今天我们结合前面的源码分析从编程范式的角度来观察其设计理念。

2022-12-10 01:11:08 353

原创 easylogging++的那些事(四)源码分析(十四)其他工具类(三)

在 其他工具类二 中我们介绍了辅助性的工具类,如:通用文件操作的 File 类,通用字符串操作的 Str 类等。今天我们来看看线程安全相关类。

2022-12-09 23:55:01 348

原创 easylogging++的那些事(四)源码分析(十四)其他工具类(二)

在中我们介绍了部分工具类,今天我们继续看看其他一些工具类。

2022-12-09 21:15:08 300

原创 easylogging++的那些事(四)源码分析(十四)其他工具类(一)

在上一篇文章中我们介绍完了 LogFormat类,今天我们来看看还剩下的一些工具类当中的一部分。

2022-12-09 13:11:58 574

原创 easylogging++的那些事(四)源码分析(十三)LogFormat类

在上一篇文章中我们介绍完了,今天我们来看看LogFormat类。LogFormat类用于管理日志格式配置当中的FORMAT配置项,一个类实例对应一个FORMAT配置项。

2022-12-08 21:25:46 232

原创 easylogging++的那些事(四)源码分析(十二)Logger和RegisteredLoggers相关接口

在总体设计框架设计部分我们介绍了Logger类保存的一些信息。在日志格式配置方式中我们介绍了Logger类与日志配置相关的一些接口。在 CLOG 宏其他相关类中我们介绍了Logger类与日志输出相关的一些接口。在类printf接口中我们详细分析了Logger的类printf接口的实现。

2022-12-08 20:18:49 439

原创 easylogging++的那些事(四)源码分析(十一)Storage类的其他接口

在 easylogging++的总体设计中我们介绍了Storage类的主要功能(所有与日志输出相关的信息都保存在Storage类中,日志库的入口类或者总的管理类)。在 easylogging++的主流程中我们介绍了Storage类的初始化和析构。在 easylogging++的日志格式配置方式中我们介绍了Storage类的的解析命令行参数相关的接口。在 easylogging++的偶尔日志宏中我们介绍了偶尔写日志相关的一些接口。

2022-12-08 15:09:09 159

原创 easylogging++的那些事(四)源码分析(十)扩展日志回滚

在上一篇我们介绍了 easylogging++的 异步日志 的实现。在结尾的时候,我们提到 easylogging++的默认实现不符合真实项目的需求,因此日志回滚的功能我们就需要根据实际的项目需求定制一下。今天我们就来看看如何定制日志回滚以满足真实项目的需求。

2022-12-07 23:59:26 338

原创 easylogging++的那些事(四)源码分析(九)异步日志

在上一篇我们介绍了 easylogging++的 崩溃处理相关 的内容。今天我们开始分析 easylogging++异步日志的实现。 目前异步日志在 easylogging++当中是实验性功能,不建议在生产环境中使用,而且经过测试,由同步日志直接切换为异步日志,程序会出现崩溃的情况。今天我们仅仅看看 easylogging++异步日志目前的实现机制。

2022-12-07 22:52:07 337

原创 easylogging++的那些事(四)源码分析(八)崩溃处理相关

在上一篇我们分析了 性能跟踪 的实现,今天我们来看看崩溃处理相关的一些内容。在 easylogging++的 功能介绍 中我们简要介绍过崩溃处理相关的内容。easylogging++中崩溃处理相关的主要有两块: 1) 系统信号处理器 2) 堆栈跟踪( 仅仅支持 GCC )

2022-12-07 17:01:04 570

原创 easylogging++的那些事(四)源码分析(七)性能跟踪

在上一篇我们介绍了 VERBOSE日志信息管理,今天我们开始介绍性能跟踪的实现。easylogging++的性能跟踪可以分为两种: 代码块整体的跟踪 以及基于代码块整体的跟踪基础上的 代码块内的某个标记点的跟踪 。

2022-12-06 15:45:16 255

原创 easylogging++的那些事(四)源码分析(六)VERBOSE日志信息的管理

在上一篇我们介绍了 日志格式配置方式。在 easylogging++的 功能介绍 中我们提过,easylogging++日志分两种:用户日志 和 日志,而用户日志又可分为 普通日志(分层日志) 和 日志。在前面我们介绍过 VERBOSE日志宏 的实现,今天我们来看看 日志相关的信息是如何管理的。

2022-12-05 13:59:29 293

原创 easylogging++的那些事(四)源码分析(五)日志格式配置方式

在上一篇我们分析了 日志格式配置管理类,结尾的时候我们说过 easylogging++提供了多种日志格式配置的方式,今天我们就来一一看看这些配置方式。    工具类提供了一系列用于管理日志记录器和其对应配置的接口。这里我们只关心日志格式配置相关的接口。至此,日志格式的配置与加载就介绍完了,下一篇我们开始介绍 日志信息的管理。

2022-12-04 16:02:51 379

原创 easylogging++的那些事(四)源码分析(四)日志格式配置管理类

easylogging++对于日志格式的管理主要是通过两个类来实现的: Configurations 类和 TypedConfigurations 类。在 easylogging++的总体设计中简单介绍过这两个类的用途: Configurations类主要用于以字符串形式保存配置项的值。TypedConfigurations 类主要用于以配置项在程序运行时的实际类型保存配置项的值。

2022-12-04 15:50:17 394

原创 easylogging++的那些事(四)源码分析(三)类printf接口

在上一篇我们分析了 [VERBOSE 日志宏][]。在中我们介绍过使用logger类的类 printf接口来输出日志,今天来看看logger类的类 printf接口的实现。

2022-12-01 16:50:17 489

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(六)VERBOSE日志宏

在上一篇我们分析了,今天来看看VERBOSE日志宏的实现。

2022-11-30 12:55:52 515

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(五)检查宏

在上一篇我们介绍完了 easylogging++的,今天我们来看看检查宏的实现.

2022-11-29 15:40:30 1999

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(四)偶尔日志宏

在上一篇我们介绍完了 easylogging++的,今天我们来看看偶尔日志宏的实现.

2022-11-29 01:59:19 259

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(三)条件日志宏

在上一篇我们介绍完了 easylogging++的,今天我们来看看条件日志宏的实现.

2022-11-28 01:36:18 811

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(二)其他基本日志宏

在上一篇我们介绍了CLOG宏的,今天我们来看看其他基本日志宏的实现。

2022-11-27 21:50:16 394

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(五)其他相关类

在上一篇中我们分析了CLOG宏的流程,今天我们看看前面CLOG宏所使用到的一些相关类。

2022-11-26 21:35:33 377

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(四)日志信息保存

writer 对象重载的输出运算符可以将要输出的信息保存到当前写日志对应的日志记录器的字符串流对象中,而 writer 对象 离开作用域时调用的析构函数最终实现了将日志记录器的字符串流对象中保存的这些信息输出到文件或者终端或者其他输出目的地。

2022-11-26 18:00:30 318

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(三)日志输出

在上一篇我们介绍了,今天来看看日志输出的流程。前面我们提到了 CLOG 宏创建的是类的临时对象,秘密就在于这里创建的是临时对象。我们知道,C++对象在离开它的作用域的时候会自动析构,进而调用析构函数。而这个临时对象的作用域仅仅是这条创建的语句(也就是使用 CLOG 宏的这条语句),当这条语句执行完后,这个临时对象离开了它的作用域,它就会被析构了,从而触发了析构函数的调用。

2022-11-26 00:39:56 635

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(二)writer对象的创建以及初始化

在 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(一)中我们对CLOG宏展开了,今天来看看日志记录宏中 CLOG 宏的实现。从上面所有用户日志相关日志级别宏的最终展开结果可以看到: 都是创建了类的实例,还是个临时对象。今天我们就来看看这个对象的创建过程。类是日志记录的入口点。

2022-11-25 21:41:58 394

原创 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(一)宏展开

在 上一篇中我们分析了 easylogging++的,今天来看看日志记录宏中 CLOG 宏的实现。在 easylogging++的中我们详细介绍了日志记录宏的一些用法,现在我们来一一剖析这些宏的实现。先看看CLOG宏,CLOG(,...)LEVEL(,,)其中##是连字符,原样替换...LEVEL。

2022-11-25 20:50:44 622

原创 easylogging++的那些事(四)源码分析(一)主流程

el::base::Storage类是日志库的入口类或者总的管理类,easylogging++的所有与日志输出相关的信息都保存在el::base::Storage类中

2022-11-24 18:10:24 341

原创 easylogging++的那些事(三)总体设计

谈 easylogging++的总体设计之前,我们先假设现在需要开发一个日志框架,按照软件开发的流程,我们首进行需求分析。需求分为功能性需求和非功能性需求,日志框架的功能性需求就是日志框架要实现的功能,即规范应用程序日志记录过程,将处理日志记录这件事情的过程标准化。当想要捕获程序的运行时信息时,日志框架首先要发出要记录的信息,然后格式化这些信息,最后决定将它出到哪里。一般情况下,会输出到文件中,但是也可以将其输出到控制台、数据库,或者任何能够接收数据地方。

2022-11-23 21:39:54 333

原创 easylogging++的那些事(二)宏定义

easylogging++中有很多特性是通过宏来控制的,今天我们就来聊聊这些宏。

2022-11-23 21:11:00 517

原创 easylogging++的那些事(一)功能介绍

easylogging++是一个面向C++应用程序的单头高效日志库(目前已经拆分为两个文件和)。它是非常强大的,高度可扩展和可配置的用户的要求。它提供了编写自己的接收器的能力(通过特性称为)。目前,在 github 和其他开源源码控制管理站点上,有数百个开源项目正在使用这个库。本文档基于 easylogging++v9.96.7用户日志和syslog日志,而用户日志又可分为普通日志和verbose日志。

2022-11-23 19:27:50 1506

markdown指南英文版(markdown-guide)+epub+mobi+pdf格式三合一

Markdown标记语言的全面参考指南。已帮助数十万人掌握了Markdown。 自2004年推出以来,数以百万计的人开始使用它来编写从便笺到文档的所有内容。它是有史以来最成功的标记语言之一。 Markdown在其他标记语言失败的地方取得了成功,因为它在功能和简单性之间取得了适当的平衡。它易于学习且易于使用。它的巨大成功意味着它无处不在,可以取代Reddit和GitHub 等网站上的WYSIWYG编辑器。但是Markdown也足够强大,可以创建文档,书籍和技术文档。Markdown实际上无处不在。

2022-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除