};// null_mutex是空锁, lock/unlock操作并不会真正锁住线程using null_sink_mt = null_sink; using null_sink_st = null_sink; 有了具体的null_sink类型(null_sink_mt/null_sink_st),我们可以用工厂方法装配出logger对象。于是,spdlog提供便捷的创建sink为null_sink的logger对象的方式: // 便捷创建logger...
auto daily_sink = std::make_shared<spdlog::sinks::daily_file_sink_mt>("logfile",23,59); // 下面几个同步日志器共享的输出到目标文件 auto net_logger = std::make_shared<spdlog::logger>("net", daily_sink); auto hw_logger = std::make_shared<spdlog::logger>("hw", daily_sink); auto...
auto logger = spdlog::rotating_logger_mt("some_logger_name", "logs/rotating.txt", max_size, max_files); } 每日文件 每天指定时间生成一个新的日志文件: #include "spdlog/sinks/daily_file_sink.h" void daily_example() { // Create a daily logger - a new file is created every day on 2...
auto async_file = spdlog::basic_logger_mt<spdlog::async_factory>("async_file_logger", "logs/async_log.txt"); // alternatively: // auto async_file = spdlog::create_async<spdlog::sinks::basic_file_sink_mt>("async_file_logger", "logs/async_log.txt"); } 1. 2. 3. 4. 5. 6. 7...
具体路径为:/usr/local/include/spdlog/sinks/daily_file_sink.h 其中我使用的可以定点日切的源码为: template<typename Factory = spdlog::synchronous_factory>inline std::shared_ptr<logger> daily_logger_format_mt(const std::string &logger_name, const filename_t &filename, int hour = 0,int minute...
可每日生成日志文件daily_file_sink 每天定时产生文件日志 支持控制台日志输出 可选的异步日志 支持日志输出级别 可自定义日志格式 二.基本使用 1.直接打印日志到console auto console1 = spd::stdout_logger_mt("console1"); console1->error("Some error message with arg{}..", 1); //console2 的module...
#include"spdlog/sinks/rotating_file_sink.h"...autorotating = make_shared<spdlog::sinks::rotating_file_sink_mt> ("log_filename",1024*1024,5,false);autofile_logger = make_shared<spdlog::logger>("my_logger", rotating); daily_file_sink ...
auto sharedFileSink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("fileName.txt");auto firstLogger = std::make_shared<spdlog::logger>("first", sharedFileSink);auto secondLogger = std::make_unique<spdlog::logger>("second", sharedFileSink);格式 ⽇志格式可以使⽤ (1) set_...
比如daily_file_sink.h指向的是把不同的日期的日志分开记录的“工厂”,hourly_file_sink是把每小时的日志分开记录的“工厂”,mongo_sink.h是把日志写到mongo数据库的“工厂”,ratating_file_sink.h是把日志文件按大小或者条数分割的“工厂”。 需要导入相关的头文件才能实现具体的“工厂”。用相应的头文件里的函...
auto my_logger = std::make_shared<spdlog::logger>("mylogger", sink); 使用多个sinks创建logger 复制代码 std::vector<spdlog::sink_ptr> sinks; sinks.push_back(std::make_shared<spdlog::sinks::stdout_sink_st>()); sinks.push_back(std::make_shared<spdlog::sinks::daily_file_sink_st>("log...