QT最方便的LOG库使用Easylogging++,只需要一个头文件

QT项目作为客户端想加入log日志,自己写太麻烦,于是在网上找,先后尝试了各种库,因为只是一个日志,帮助排错不想搞得那么宏达和复杂,最后终于找到了一个靠谱、简单、好用!

和log4cplus和glog相比,Easylogging++最大的特点就是它只有一个头文件并且无需任何外部依赖我从来没有见过哪一个日志库可以做到如此轻量而且还能兼顾性能的。除此之外,Easylogging++使用起来非常简单,同时还支持文件配置,提供了强大的自定义日志格式的能力,还提供对第三方库,STL容器的支持。面对如此炫酷的开源日志,怎么能不尝试下!

 

Easylogging++项目在GitHub的开源地址:https://github.com/easylogging/easyloggingpp

版本说明

1、最新的 Easylogging++ 版本是V9.96,如果编译器不支持C++11的话,是无法编译的,对于Visual Studio系列来说,必须是VS2012或以上版本才行。

2、如果还停留在VS2010、VS2008,VS2005的小伙伴,可以考虑使用EasyLogging++ V8.91版本。需要注意的是,不同的版本在使用方法和功能支持上都会有所差异。

每个版本官方都有各种版本demo帮助你理解,如图QT、VS等:

QT最方便的LOG库使用Easylogging++,只需要一个头文件

快速使用

QT最方便的LOG库使用Easylogging++,只需要一个头文件

如图只需要将头文件加入,短短7行代码即可,编译成功,输出项目当前文件夹下的logs文件下,生成log文件!

注意:第4行代码,网上各种乱复制误导人,4行这个网上代码大多缺少开头的下划线,不然VS根本编译不过!

QT注意事项

加入到qt项目中报错括号问题135行,建议直接自己指定这个宏136和138选择一个放开,135-139其它都屏蔽,这个意思是你QT的版本。

136 QT5.0及以上  (这行放开了我的是5.7)

138 QT5.0以下包含4.XQT最方便的LOG库使用Easylogging++,只需要一个头文件

如果项目是Unicode编码格式,那么输出中文log可能报错,推荐办法,在项目,属性,C++,预处理,预处理定义,加入宏ELPP_UNICODE
QT最方便的LOG库使用Easylogging++,只需要一个头文件

最终,输出的log中文也无问题:

QT最方便的LOG库使用Easylogging++,只需要一个头文件