Easylog:一个仅需要头文件不需要C++ 11的日志系统
Easylog:支持非C++11,支持日志级别,支持流式日志,支持printf,不需要定义,只需要包含头文件
地址:Easylog_Github
请帮忙点一个Star,谢谢~
工作中有的时候需要一个日志系统来做一下记录,之前在网上找了很多开源的日志,要么太过简单,要么配置过于繁琐了,后来在网上找到了下面两位大神写的日志头文件:
https://gitee.com/sollyu/EasyLog : c++ 11 only
https://github.com/ysbbswork/Minilogger
由于第一位作者的只支持C++ 11,第二个作者的相对比较简单,所以我就把两者结合了一下,并且针对Easylog进行了一定的功能上的增加。例如可选追加写与覆盖写、可选是否打印日志、可选使用日期作为文件名等。
具体的代码思路就是定义一个类,里面采用写文本的方式,思路就是定义一个日志类,采用宏封装类的函数。
调用极为简单:
#include <iostream>
#include "Easylog.h"
ELOGI("i'm %s", "zhushuo"); // 输出 INFO (只有 LOGI 不会打印所在行)
ELOGE("I'm " << "sollyu"); // 输出 ERROR (会打印所在行)
ELOG_DEBUG("i'm %s", "sollyu"); // 输出 DEBUG (会打印所在行)
EasyLog::GetInstance()->WriteLog(EasyLog::