对于 log 来说,是最重要的库了,尤其对一实时系统运行,找到一个好的log库,对于c++来说,真心不容易。
之前一直用着spdlog,性能高,功能强大,宇宙第一log库。
但如果是多人维护的程序,这是一个致命的灾难。轻量级的简单易用的log库真心不好找。libhunt ,awesomecpp conan 等多个手段 找到了,g3log ,plog,quill,loguru 等等。
具体对比,各有优劣。小,实时,console,file 同时运行,stream流。
对比下来,我选中了loguru。小, 一个cpp,一个h 文件。程序这么短,
#include
#define LOGURU_WITH_STREAMS 1 #include "loguru_example.hpp"#include "../loguru.hpp"#include "../loguru.cpp"
int main(int argc, char* argv[]){ // loguru::init(argc, argv); // LOG_F(INFO, "Hello from main.cpp!"); // complex_calculation(); // LOG_F(INFO, "main function about to end!");
loguru::init(argc, argv); loguru::add_file("everything.log", loguru::Append, loguru::Verbosity_MAX); LOG_F(INFO, "Hello log file!"); int a=12312; LOG_S(INFO) << "Look at my custom object: " << a; return 0;
}
流文件彩色打印到文件和终端
怎么样? 并且是实时异步的。放到哪里都不错,我先放到qt里面也试试了。
还有,发现python 最流行的log就是loguru的python版本,同时还有go的版本。
唯一不足的就是发现loguru还没有被conan 收入。等待中。另外plog也比较不错。大家继续比较看看了。扔掉spdlog 重型库,用loguru轻装前行。
留言与评论(共有 0 条评论) “” |