😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍跨平台轻量日志库easyloggingpp。
无专精则不能成,无涉猎则不能通。。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞
文章目录
- :smirk:1. 项目介绍
- :blush:2. 源码分析
- :satisfied:3. 项目总结
😏1. 项目介绍
项目Github地址:https://github.com/abumq/easyloggingpp
easyloggingpp是一个跨平台轻量级日志库。只需要在项目中包含头文件easylogging++.h和实现easylogging++.cc,即可实现丰富的日志打印功能。
最简日志打印示例:
#include "easylogging++.h"INITIALIZE_EASYLOGGINGPP // 初始化宏,有且只能使用一次int main(int argc, char* argv[]) {LOG(INFO) << "My first info log using default logger";return 0;
}
我们知道,简单的日志打印有Fatal Error Warn Info Debug
5种等级,easylogging支持对日志等级和格式进行配置化,通常可通过配置文件进行管理,一个配置示例如下:
* GLOBAL:FORMAT = "%datetime %msg"FILENAME = "/tmp/logs/my.log"ENABLED = trueTO_FILE = trueTO_STANDARD_OUTPUT = trueSUBSECOND_PRECISION = 6PERFORMANCE_TRACKING = trueMAX_LOG_FILE_SIZE = 2097152 ## 2MB - Comment starts with two hashes (##)LOG_FLUSH_THRESHOLD = 100 ## Flush after every 100 logs
* DEBUG:FORMAT = "%datetime{%d/%M} %func %msg"
另外,除了正常的日志输出外,还提供了条件写日志,每执行n次写日志,写n次日志等功能。但一般最常用的就是LOG(LEVEL)
输出对应等级的日志。
😊2. 源码分析
下面进行源码分析:
😆3. 项目总结
下面进行一下总结:
以上。