摘要: (其他基本日志宏) 在上一篇我们介绍了 CLOG宏 的 其他相关类,今天我们来看看其他基本日志宏的实现。 CPLOG 宏 宏展开 CPLOG 宏定义如下: #define CPLOG(LEVEL, ...) \ C##LEVEL(el::base::PErrorWriter, el::base::D 阅读全文
posted @ 2022-11-27 22:03 节奏自由 阅读(84) 评论(0) 推荐(0) 编辑
摘要: (CLOG 宏调用相关类) 在上一篇中我们分析了 CLOG 宏 日志信息保存 的流程,今天我们看看前面 CLOG 宏所使用到的一些相关类。 el::base::Writer类 另一个 construct 接口 //声明 Writer &construct(Logger *logger, bool n 阅读全文
posted @ 2022-11-26 21:49 节奏自由 阅读(78) 评论(0) 推荐(0) 编辑
摘要: (日志信息保存) 在上一篇中我们分析完了 CLOG 宏 日志输出 的流程,在结尾的时候我们提出了一个问题: CLOG(INFO, "default") << "This is a CLOG!"; CLOG 宏的流式输出是如何实现的?今天我们就来解答这个问题。 writer 类的输出运算符 前面我们经 阅读全文
posted @ 2022-11-26 18:07 节奏自由 阅读(145) 评论(0) 推荐(0) 编辑
摘要: (日志输出) 在上一篇我们介绍了 writer 对象的创建以及初始化,今天来看看日志输出的流程。 前面我们提到了 CLOG 宏创建的是 el:: base:: Writer 类的临时对象,秘密就在于这里创建的是临时对象。我们知道, C++对象在离开它的作用域的时候会自动析构,进而调用析构函数 。 而 阅读全文
posted @ 2022-11-26 00:45 节奏自由 阅读(231) 评论(0) 推荐(0) 编辑
摘要: (Writer类对象的创建和初始化) 在 easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(一)宏展开中我们对CLOG宏展开了,今天来看看日志记录宏中 CLOG 宏的实现。 从上面所有用户日志相关日志级别宏的最终展开结果可以看到: 都是创建了 el:: base:: 阅读全文
posted @ 2022-11-25 21:51 节奏自由 阅读(129) 评论(0) 推荐(0) 编辑
摘要: (CLOG 宏展开) 在 上一篇中我们分析了 easylogging++的 主流程,今天来看看日志记录宏中 CLOG 宏的实现。 在 easylogging++的 功能介绍 中我们详细介绍了日志记录宏的一些用法,现在我们来一一剖析这些宏的实现。 先看看 CLOG 宏,CLOG 宏定义如下: #def 阅读全文
posted @ 2022-11-25 21:23 节奏自由 阅读(186) 评论(0) 推荐(0) 编辑
摘要: (主流程) 在easylogging++的哪些事(三)总体设计我们介绍了easylogging++的总体设计,从今天开始正式进入源码分析部分,首先我们来看看easylogging++的主流程。 一、easylogging++的初始化 easylogging++的那些事(一):功能介绍快速上手部分提到 阅读全文
posted @ 2022-11-24 18:07 节奏自由 阅读(259) 评论(0) 推荐(0) 编辑
摘要: (总体设计) 上一篇文章我们介绍了 easylogging++的 宏,今天我们开始介绍 easylogging++的总体设计。 一、日志框架的需求分析 谈 easylogging++的总体设计之前,我们先假设现在需要开发一个日志框架,按照软件开发的流程,我们首进行需求分析。需求分为功能性需求和非功能 阅读全文
posted @ 2022-11-23 21:34 节奏自由 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章我们简要介绍了 easylogging++的 主要功能。easylogging++中有很多特性是通过宏来控制的,今天我们就来聊聊这些宏: debug 输出流宏定义 ELPP_INTERNAL_DEBUGGING_OUT_INFO(目前相当于 std:: cout) ELPP_INTERNA 阅读全文
posted @ 2022-11-23 21:22 节奏自由 阅读(243) 评论(0) 推荐(0) 编辑