voidset_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local); 通过格式字符串 pattern,会生成formatter实例,调用 skin的set_formatter接口设置日志格式。 SPDLOG_INLINEvoidlogger::set_pattern(std::string pattern, pattern_time_type time_type) { autonew_formatter = detail...
void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local); 1. 2. 通过格式字符串 pattern,会生成formatter实例,调用 skin的set_formatter接口设置日志格式。 SPDLOG_INLINE void logger::set_pattern(std::string pattern, pattern_time_type time_type) { auto new_fo...
base_sink &operator=(base_sink &&) = delete;voidlog(constdetails::log_msg &msg)final;// 接收用户log消息voidflush()final;// 冲刷用户log消息(到目标文件)voidset_pattern(conststd::string&pattern)final;// 用模式串设置模式, 使用默认的formatter=pattern_formattervoidset_formatter(std::unique_ptr<...
set_formatter:用于设置日志的格式化器。该方法接收一个std::unique_ptr<spdlog::formatter>类型的参数,表示要使用的格式化器的指针。 base_sink classbase_sink:publicsink{public:base_sink();explicitbase_sink(std::unique_ptr<spdlog::formatter>formatter);~base_sink()override=default;base_sink(constbase_sin...
在调用设置格式化字符串函数set_pattern的时候,pattern_formatter会解析字符串,将字符串转换成不同的格式化器添加到formatters_里面。具体的逻辑在compile_pattern_函数实现: SPDLOG_INLINE void pattern_formatter::compile_pattern_(const std::string &pattern) ...
Set_formatter #补充Set_pattern的功能 Spdlog的使用 安装 方法一 方法二 初级应用 把日志按默认格式输出到控制台,背后会按默认参数创建logger和register并完成注册。 创建logger Spdlog工厂方法创建 工厂方法的目的:屏蔽复杂的创建对象的流程。 工厂设计模式:有多个具体工厂类继承自一个抽象类,有多个具体产品类继承自另...
spdlog 自带了默认的 formatter,其格式为:[日期时间] [logger名] [log级别] log内容。 日志级别 spdlog 提供了一组日志级别,用于控制记录哪些级别的日志消息: trace:最详细的日志级别,提供追踪程序执行流程的信息。 debug:调试级别的日志信息,用于调试程序逻辑和查找问题。 info:通知级别的日志信息,提供程序运行时...
(1) set_pattern(pattern_string) (2) 实现formatter的接口,然后调用set_formatter(std::make_unique()); 使用set_pattern() 全局使用spdlog::set_pattern("*** [%H:%M:%S %z] [thread %t] %v ***"); 针对某个loggersome_logger->set_pattern(">>> %H:%M:%S %z %v <<<"); 针对某个sink ...
set_pattern("[%n] [%*] [%^%l%$] %v"); spdlog::set_formatter(std::move(formatter)); } 基础函数说明 1.设置日志等级 代码语言:javascript 复制 //设置全局注册日志等级 spdlog::set_level(spdlog::level::info); // Set global log level to info //其他用法与设置日志样式相同 日志等级说明:...
实现灵活性,Sink组件采用继承抽象类方式,此类包含level_日志等级设置和四个抽象方法,具体为sink基类,提供锁和格式化器以保证多线程环境下的数据安全,以及实现日志输出逻辑和缓冲区清理的flush_方法。设置日志格式和格式化器则通过set_pattern_和set_formatter_方法完成。基础抽象类base_sink提供了核心逻辑,...