😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍跨平台轻量日志库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 = true
TO_FILE = true
TO_STANDARD_OUTPUT = true
SUBSECOND_PRECISION = 6
PERFORMANCE_TRACKING = true
MAX_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. 项目总结
下面进行一下总结:
以上。