vs2015 使用spdlog编译失败以及注意事项

使用spdlog1.8版本

输出格式pattern

通过set_pattern可设定日志格式,如set_pattern("[%Y-%m-%d %H:%M:%S.%e][%l](%@): %v");

输出标记flag:

flagmeaningexample
%v日志内容“my log test content”
%t线程ID“123”
%P进程ID“234”
%n记录器Logger名“basicLogger”
%l日志级别“debug”, “info”, etc
%L日志级别简称“D”, “I”, etc
%a星期几(简称)“Thu”
%A星期几“Thursday”
%b月份简称“Aug”
%B月份“August”
%c日期时间“Thu Aug 23 15:35:46 2014”
%C年(两位)“14”
%Y“2014”
%D %x日期简写“08/23/14”
%m月份(数字)“11”
%d日(数组)“29”
%H小时(24制)“23”
%I小时(12制)“11”
%M分钟“59”
%S“58”
%e毫秒“678”
%f微秒“056789”
%F纳秒“256789123”
%pAM/PM“AM”
%r时间(12制)“02:55:02 pm”
%R时分(24制)“23:55”
%T %X时间(24制)“23:55:59”
%z时区(偏移)“+02:00”
%Eepoch(秒)“1528834770”
%%百分号“%”
%+默认格式“[2014-10-31 23:46:59.678] [mylogger] [info] Some message”
%^start color range (can be used only once)“[mylogger] [info(green)] Some message”
%$end color range (for example %^[+++]%$ %v) (can be used only once)[+++] Some message
%@文件名与行数my_file.cpp:123
%s文件名my_file.cpp
%g文件名(含路径)/some/dir/my_file.cpp
%#行数123
%!函数名my_func
%o相对上一条记录的时间间隔(毫秒)456
%i相对上一条记录的时间间隔(微秒)456
%u相对上一条记录的时间间隔(纳秒)11456
%O相对上一条记录的时间间隔(秒)4

日志输出中要携带文件名、行数或函数名时,必须使用SPDLOG_LOGGER_*宏,且要激活对应的级别(哪些级别以上的日志会被记录):

// 记录INFO及以上级别日志
#define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_INFO
#include "spdlog/spdlog.h"

SPDLOG_LOGGER_INFO(myLogger, "Support for floats {:03.2f}", 1.23456);
SPDLOG_LOGGER_WARN(myLogger, "Easy padding in numbers like {:08d}", 12);
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spdlog是一个C++的快速日志库,它具有非常高的性能和灵活性,但是在编译过程中可能会遇到较慢的情况。 首先,编译速度慢可能是由于spdlog源代码的规模较大导致的。spdlog库实现了多种日志记录器,支持多种日志格式和输出方式,因此其源代码比较庞大。在编译时,需要将所有相关代码进行预编译、优化和链接,这个过程可能比较耗时。 其次,spdlog库在编译过程中可能使用了一些较复杂的C++特性或者依赖其他库,这些都可能增加编译时间。例如,spdlog的一些特性可能需要使用模板、多态或者元编程等高级C++特性,这些特性在编译时需要进行多次实例化和编译,从而增加了编译时间。另外,spdlog也可能依赖其他库,例如boost等,这些库的编译也会影响到spdlog编译性能。 针对spdlog编译慢的问题,可以采取以下措施来优化编译速度: 1. 使用编译头文件(PCH):可以将一些通用的头文件预先编译,并在编译过程中引入,从而减少代码的重复编译。 2. 分开编译:对于较大的项目,可以考虑将spdlog的源代码与其他代码分开编译,从而缩小编译范围,减少编译时间。 3. 编译优化选项:可以使用一些编译优化选项,如-O2或者-O3,来提高编译速度和执行效率。 4. 移除不必要的特性或者依赖:如果项目中并未使用spdlog的所有特性或者依赖的其他库,并且对编译速度有着较高的要求,可以考虑移除不必要的特性或者依赖,从而减少编译时间。 总之,虽然spdlog编译可能较慢,但其高性能和灵活性使其成为C++开发中一个值得考虑的日志库。通过合理的优化编译配置和编译选项,可以在保证性能的前提下,提高编译速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值