![ccb799a3e294bbd791c39dd5485cf553.png](https://i-blog.csdnimg.cn/blog_migrate/efe1e6f2137e1dcb366802e467280cb3.jpeg)
基本信息
- 创建时间:2020-04-08
- 项目内容:基于Boost构建的一个LOG库
- 项目出发点:C++也有一些日志库(如:
GLOG
,Log4j
的C++版本,...),Boost本身也支持日志,但是GLOG
要额外配置,Log4j
原本是Java的,也需要额外配置,Boost自带的日志接口有些用户门槛,所以这里对其进行了封装,实现了如下功能 - 代码地址:https://github.com/CVPaul/logger
功能点一:同步和异步无缝切换
- 通过
logging.h
文件夹中的USING_ASYNC_LOG_MODE
作为切换的开关 - 同步的好处:日志不会丢
- 异步的好处:速度快但是可能会丢日志(之前的测试为:同步约6.3ms -> 异步0.3ms)
功能点二:直接logger_xxx调用不同level的日志打印宏
- 经过反复的探索,发现还是宏输出的方式最适合C++:
LOGGER_XXX << "LOGGE