#define WARN(...) SPDLOG_LOGGER_WARN(spdlog::default_logger_raw(), __VA_ARGS__);SPDLOG_LOGGER_WARN(spdlog::get("daily_logger"), __VA_ARGS__) #define ERROR(...) SPDLOG_LOGGER_ERROR(spdlog::default_logger_raw(), __VA_ARGS__);SPDLOG_LOGGER_ERROR(spdlog::get("daily_logger"), _...
block_retry,//Block / yield / sleep until message can be enqueueddiscard_log_msg//Discard the message it enqueue fails}; 5、处理spdlog的异常 set_error_handler 官方说明:https://github.com/gabime/spdlog/wiki/Error-handling 当输出日志时发生异常时,spdlog会向std::err 打印一条语句,为了避免输出的...
warn = SPDLOG_LEVEL_WARN, err = SPDLOG_LEVEL_ERROR, critical = SPDLOG_LEVEL_CRITICAL, off = SPDLOG_LEVEL_OFF, n_levels }; thread_pool的使用 registry类创建 resitry只提供3个与thread_pool有关的成员函数: set_tp 设置thread_pool共享指针成员tp_ get_tp 获取thread_pool共享指针成员tp_ shutdown ...
然后在程序中添加如下的spdlogTest01.cpp代码: #include"spdlog/spdlog.h"intmain(){spdlog::info("Welcome to spdlog!");spdlog::error("Some error message with arg: {}",1);spdlog::warn("Easy padding in numbers like {:08d}",12);spdlog::critical("Support for int: {0:d}; hex: {0:x};...
例如,通过设置默认logger为控制台,可以实现控制台输出日志。同时输出控制台与文件日志时,需注册并配置相应的logger。在处理文件按天分割和停止调试时的日志丢失问题时,通过配置定时刷新或设置特定触发条件(如error级别)进行flush操作,以确保日志文件的完整性和稳定性。在进行完整代码实现时,控制台输出与...
spdlog::set_error_handler([](const std::string& msg) { std::cerr << "my err handler: " << msg << std::endl; }); logger 默认情况下,spdlog的默认logger为输出到stdout: # ifdef _WIN32 auto color_sink = std::make_shared<sinks::wincolor_stdout_sink_mt>(); ...
spdlog::info("Welcome to spdlog!");spdlog::error("Some error message with arg: {}",1);spdlog::warn("Easy padding in numbers like {:08d}",12);spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}",42); ...
默认日志输出级别为INFO,支持同步或异步模式。在异步模式下,日志输出到队列中,由工作者线程处理,队列满时可根据策略进行处理。异常处理机制避免频繁输出异常信息,通过set_error_handler可自定义异常处理逻辑。默认情况下,spdlog的默认logger输出到stdout。在使用logger后,需关闭以避免重复建立同名logger。
void spdlog::set_error_handler(log_err_handler); 三、使用示例 函数名带后缀_mt的意思是multi thread(速度稍微慢一点点,考虑了多线程并发),_st的意思是single thread(速度较块)。所有以_mt结尾的SINK都是线程安全的,以_st结尾的则不是。 #include"spdlog/spdlog.h" ...
#define LOGGER_ERROR(logger,...) SPDLOG_LOGGER_ERROR(logger,__VA_ARGS__) #define LOGGER_CRITICAL(logger,...) SPDLOG_LOGGER_CRITICAL(logger,__VA_ARGS__) //时间统计宏 #define LOGSW() spdlog::stopwatch() 1. 2. 3. 4. 5. 6. ...