C++高性能日志库spdlog介绍
今天看到了一个参考项目中用到了spdlog库,看着使用很是方便,于是记录一下。后面有时间了或者用到了再详细整理。
参考:C++高性能日志库spdlog使用指南-CSDN博客
一、介绍
1.1库文件包含
1.2最简单的使用
不完整代码如下:
#include <spdlog/sinks/qt_sinks.h>
#include <spdlog/spdlog.h>std::shared_ptr<spdlog::logger> logger;//写入头文件,类的成员变量MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);/* 日志初始化。 */logger = spdlog::qt_color_logger_st("MW", ui->textEdit_log, 5000, true);
#ifdef QT_DEBUGlogger->set_level(spdlog::level::debug);
#endif // QT_DEBUGlogger->warn("警告");logger->info("信息");
}//QMessageBox窗口显示info等级以上的
void MainWindow::_control_logGenerated(spdlog::level::level_enum level, const std::string &message)
{logger->log(level, message);if (level <= spd::level::info) {return;}switch (level) {case spd::level::warn:QMessageBox::warning(this, tr("Warning"), QString::fromStdString(message));break;default:QMessageBox::warning(this, tr("Error"), QString::fromStdString(message));break;}
}
显示如下: