这将创建一个名为 "my_logger" 的日志记录器,并将日志输出到 "logs/my_log.txt" 文件中。在上面的代码中,"mt" 表示多线程,这意味着可以在多个线程中使用同一个日志记录器。 接下来,您可以使用以下方法记录日志: logger->trace("This is a trace message"); logger->debug("This is a debug message")...
Registry:是一个单例,管理所有的logger,每一个logger都会注册到该单例中,可以通过logger的名字 找到这个唯一的logger。 logger:实际打印日志的对象,可以设置为同步或异步,异步时需要指定一个线程池,也可以使用默认一个线程的线程池;可以设置日志打印级别、设置flush刷新策略。 sink:日志接收器。可以绑定到多个logger上,...
auto firstLogger = std::make_shared<spdlog::logger>("first", sharedFileSink); auto secondLogger = std::make_unique<spdlog::logger>("second", sharedFileSink); 格式 日志格式可以使用 (1) set_pattern(pattern_string) (2) 实现formatter的接口,然后调用set_formatter(std::make_unique()); 使用set...
#define GETLOG(LOG_NAME) get_async_file_logger(LOG_NAME) #define LOGGER_TRACE(logger,...) SPDLOG_LOGGER_TRACE(logger,__VA_ARGS__) #define LOGGER_DEBUG(logger,...) SPDLOG_LOGGER_DEBUG(logger,__VA_ARGS__) #define LOGGER_INFO(logger,...) SPDLOG_LOGGER_INFO(logger,__VA_ARGS__) #de...
spdlog::init_thread_pool(10000,1);autofile_logger = spdlog::rotating_logger_mt<spdlog::async_factory>("file_logger","mylogs",1024*1024*5,100);inti =0; file_logger->set_level(spdlog::level::debug);while(i <1000000) { file_logger->debug("Async message #{}", i); ...
Logger是Spdlog日志库的核心组件,它负责记录和管理日志。Logger的定义如下: class logger { public: explicit logger(std::string logger_name, sinks_init_list sinks); template<typename T> void log(level::level_enum lvl, const T &msg); template<typename... Args> ...
//创建文件名类似于: daily_log_2018-01-17_10-27.txt,如果程序不退出的话,就是每天2:30 am创建新的文件 auto console3 = spd::daily_logger_mt("daily_logger","./daily_log", 2, 30); console3->flush_on(spd::level::debug); console3->info("test daily info"); console3->error("test ...
debug);this->sinks_.push_back(this->info_sink_);// infothis->sinks_.push_back(this->error_sink_);// errorthis->sinks_.push_back(this->console_sink_);// consolethis->logger_=std::make_shared<spdlog::logger>("log_demo",begin(this->sinks_),end(this->sinks_));this->logger_->...
首先,需要包含spdlog的头文件:```#include <spdlog/spdlog.h> ```然后,可以通过以下代码初始化spdlog:```auto console = spdlog::stdout_logger_mt("console");```上述代码设置了日志级别为debug,并创建了一个名为"console"的日志器,并将其输出到标准输出。现在可以使用这个日志器来记录日志了。spdlog提供...
spdlog基本结构分析 spdlog 基本结构分析 代码取⾃ , 代码堪称美学。是⼀个只有头⽂件的C++⽇志库,速度⾮常快,扩展性很强,更重要的是社区活跃,⽂档齐全。使⽤ 1. 参考官⽅的 .2. {fmt} 的格式使⽤也需要熟悉⼀下,毕竟也进 C++20 了,什么垃圾流就快扫进历史的垃圾堆吧.分析 这⾥...