今天看到了一个参考项目中用到了spdlog库,看着使用很是方便,于是记录一下。后面有时间了或者用到了再详细整理。
一、介绍
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_DEBUG
logger->set_level(spdlog::level::debug);
#endif // QT_DEBUG
logger->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;
}
}
显示如下: