spdlog c++日志打印框架

bin_to_hex.h

// 支持以十六进制格式记录二进制数据
// 格式标志,可以是以下任何组合:
// {:X} - 以大写字母打印。
// {😒} - 不要在每个字节之间添加空格。
// {:p} - 不要在每行开始时打印位置。
// {:n} - 不要将输出分割成行。
// {:a} - 如果未设置 :n,则显示ASCII。

原始的我们不做任何处理的情况下

    const char data[] = "123456789abcdefghqkjkljl";
     std::string h =  fmt::format("{}", spdlog::to_hex(data, data + sizeof(data)));
    spdlog::info(h.c_str())

在这里插入图片描述当我们加上X

    const char data[] = "123456789abcdefghqkjkljl";
     std::string h =  fmt::format("{X}", spdlog::to_hex(data, data + sizeof(data)));
    spdlog::info(h.c_str());
    

在这里插入图片描述
当我们加上s的时候
在这里插入图片描述
当我们加上p的时候

在这里插入图片描述
当我们加上n的时候
在这里插入图片描述

当我们加上a的时候
在这里插入图片描述
其实在这里还有一个问题,在我们看hex的时候,经常会看到是16个byte的行,那么我们如何去添加呢

    const char data[] = "123456789abcdefghqkjkljl";
     std::string h =  fmt::format("{:Xspn}", spdlog::to_hex(data, data + sizeof(data),16));
    spdlog::info(h.c_str());
    return 0;
}

可以看到后面有个16,这个就是每行的意思,意思每行16个;

同时,这个xspn这些选项可以混用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C++中的spdlog是一个快速、易于使用的日志记录库。它提供了多种日志记录模式,支持多线程,具有灵活的格式化选项,并且在性能上表现出色。你可以使用spdlog来记录应用程序中的各种事件、错误和调试信息。 要使用spdlog,首先你需要在你的C++项目中包含spdlog头文件,并将spdlog库链接到你的项目中。你可以通过下载spdlog的源代码并手动添加到你的项目中,或者使用包管理工具(如vcpkg)来安装spdlog。 下面是一个简单的示例,展示了如何在C++中使用spdlog进行日志记录: ```cpp #include <spdlog/spdlog.h> int main() { // 创建一个名为"my_logger"的日志记录器 auto logger = spdlog::stdout_logger_mt("my_logger"); // 设置日志记录级别为调试 spdlog::set_level(spdlog::level::debug); // 记录不同级别的日志信息 logger->info("This is an info message"); logger->warn("This is a warning message"); logger->error("This is an error message"); return 0; } ``` 在上面的示例中,我们创建了一个名为"my_logger"的日志记录器,并将其输出到控制台(stdout)。然后,我们设置日志记录级别为调试(debug),这意味着所有调试级别及更高级别的日志消息都会被记录。 最后,我们使用logger对象记录了一些不同级别的日志消息。日志消息的格式可以根据你的需要进行自定义。 这只是一个简单的示例,你可以根据你的具体需求使用spdlog进行更复杂的日志记录。你可以查看spdlog的文档以获取更多详细信息和示例:https://github.com/gabime/spdlog

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制科学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值