AI代码解释 #pragma once//定义宏使输出文件名和行号#defineSPDLOG_ACTIVE_LEVELSPDLOG_LEVEL_TRACE#defineSPDLOG_TRACE_ON//#define SPDLOG_DEBUG_ON#include"spdlog/spdlog.h"#include"spdlog/sinks/easy_file_sink.h"//#include "spdlog/sinks/daily_file_sink.h"//spdlog 简易封装//龚建波 2021-1-27 修改/...
封装spdlog库可以提供一个更易于管理和使用的日志系统。以下是一个基于spdlog的封装类的实现步骤,包括类的设计、接口的实现以及使用示例。 1. 了解spdlog库的基本功能和API spdlog是一个高性能的C++日志库,支持多种日志级别(如debug、info、warn、error等),并且支持多种日志输出目标(如控制台、文件等)。它还支持异步...
就需要加上这些宏,为了方便,通常的做法是将日志封装成宏函数的形式,进行日志输出。 对于宏,有很多的优点,但是我个人不喜欢宏,调试不友好,只是进行简单的字符串替换,没有语法检查。 如果不使用宏,又没法在程序运行的时候获取需要的信息,因此,问题的关键是如何在非运行期获取行号等信息。 现代C++新增的constexpr关键...
然后在项目属性中包含include目录,如下图所示: 封装Log头文件# 一般的项目对日志要求都不高,主要是要求日志线程安全、异步写入文件、每天生成新日志、支持日志回调显示,spdlog稍微配置一下即可。 把spdlog相关的配置全放到Log.h文件中,封装成Log头文件有两个好处: 可以随时替换后台日志实现 对外只用暴露一个头文件 Log...
spdlog的简单封装和使用 头文件: #ifndef _SIMLOG_H_#define_SIMLOG_H_#include<spdlog/spdlog.h>#ifdef _WIN32//strrchr:查找字符在指定字符串从右面开始的第一次出现的位置,如果成功,返回该字符以及后面的字符,如果失败,返回NULL//strcgr:查找字符在指定字符串首次出现的位置#define__FILENAME__ (strrchr(__...
spdlog的简单封装和使用 #ifndef _SIMLOG_H_ #define _SIMLOG_H_ #include <QtWidgets/QWidget> #include <spdlog/spdlog.h> #include "simlog_export.h" #ifdef _WIN32 //strrchr:查找字符在指定字符串从右面开始的第一次出现的位置,若是成功,返回该字符以及后面的字符,若是失败,返回NULL...
spdlog是一个C++编写的极速日志打印库,支持异步写日志以及多种模式和格式化选项。以下基于spdlog库封装了一个简单易用的功能类,采用的是header-only方式,便于项目集成。 代码 #pragma once#include<iostream>#include<string>#include<memory>#include#include<chrono>#include"spdlog/spdlog.h"#include"spdlog/async...
MyLog::GetInstance().InitLogObject(); ……. std::stringstream ss; ss << __FILE__ << “:” << __FUNCTION__ << “:” << __LINE__ << “:”; ss<< std::this_thread::get_id(); MyLog::GetInstance().GetFileObject()->info(“日志:{},{}”, “测试文件”, ss.str().data()...
封装Log头文件# 一般的项目对日志要求都不高,主要是要求日志线程安全、异步写入文件、每天生成新日志、支持日志回调显示,spdlog稍微配置一下即可。 把spdlog相关的配置全放到Log.h文件中,封装成Log头文件有两个好处: 可以随时替换后台日志实现 对外只用暴露一个头文件 ...
spdlog单例模式封装 #pragma once #include "Util.h" #ifdef _WIN32 #define __FILENAME__ (strrchr(__FILE__, '\\') ? (strrchr(__FILE__, '\\') + 1):__FILE__) #else #define __FILENAME__ (strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/') + 1):__FILE__)...