尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
spdlog日志管理库详细介绍与项目落地分析
1. spdlog简介spdlog 是现代 C 高性能日志库特点高性能支持 header-only 或编译库模式支持同步/异步日志支持多线程 logger支持控制台、文件、滚动文件输出支持自定义日志格式核心结构spdlog ├── logger 日志器 ├── sink 输出目标 ├── formatter 格式化器 ├── level 日志等级 ├── async 异步日志 └── flush 刷盘管理2. LoggerLogger 是日志核心对象。示例autologgerspdlog::stdout_color_mt(livox);logger-info(Livox Mid360 start);logger-warn(Heartbeat timeout);logger-error(Device open failed);工程中建议每个模块使用独立 loggerlivox_logger camera_logger control_logger system_logger3. SinkSink 表示日志输出位置。常见类型Sink 功能stdout_color_sink_mt 控制台输出basic_file_sink_mt 文件输出rotating_file_sink_mt 按大小滚动daily_file_sink_mt 按日期切分syslog_sink_mt Linux系统日志典型机器人项目日志 | -- 控制台 | -- 文件 | -- 系统日志4. 文件滚动日志推荐autologgerspdlog::rotating_logger_mt(robot,logs/robot.log,20*1024*1024,10);含义单文件20MB保留10个历史文件适合雷达驱动相机驱动自动驾驶节点5. 日志格式推荐logger-set_pattern([%Y-%m-%d %H:%M:%S.%e] [%n] [%^%l%$] [tid:%t] %v);输出[2026-07-08 10:30:10.123] [livox] [INFO] [tid:1234] Radar started包含时间模块等级线程内容6. 日志等级spdlogtrace debug info warn error critical off建议场景 等级初始化成功 INFO普通状态 DEBUG异常恢复 WARN设备失败 ERROR系统无法运行 CRITICAL7. 异步日志同步业务线程 | 写文件 | 返回异步业务线程 | 日志队列 | 后台线程写文件优点不阻塞控制线程适合高频数据系统适合点云图像SLAMAI推理8. sirius_log封装建议不要业务代码直接依赖spdlog。推荐sirius_log | -- spdlog | -- 配置文件 | -- 宏封装例如#defineSIRIUS_INFO(...)#defineSIRIUS_WARN(...)#defineSIRIUS_ERROR(...)业务SIRIUS_INFO(Livox Mid360 started);SIRIUS_ERROR(Open device failed);以后替换日志库无需修改业务代码。9. ROS2项目落地推荐架构robot_system ├── sirius_log │ ├── sirius_config │ ├── livox_mid360 │ ├── camera_driver │ └── control_node底层spdlogROS接口RCLCPP_INFO分层使用。10. 优点高性能适合机器人自动驾驶实时感知功能丰富支持文件滚动异步多线程易封装可以形成企业统一日志系统业务代码 | sirius_log | spdlog调试方便可以快速定位时间线程模块错误位置11. 缺点1. 异步日志可能丢日志队列满时需要选择blockoverrun_oldest2. 需要管理生命周期退出前spdlog::shutdown();3. 高频打印影响性能错误while(true){SPDLOG_INFO(receive packet);}应该SPDLOG_DEBUG(receive packet);4. ROS2存在日志重复问题需要明确ROS层使用RCLCPP底层库使用spdlog12. 推荐机器人项目配置spdlog sirius_log封装 yaml配置 rotating_file_sink async logger error自动flush适用于Livox Mid360相机驱动SLAMAI推理服务ROS2机器人系统
RELATED

相关推荐

ResNet-18/34/50/101/152 模型部署:PyTorch 转 ONNX 再转 TensorRT 的 5 步优化

ResNet-18/34/50/101/152 模型部署:PyTorch 转 ONNX 再转 TensorRT 的 5 步优化

ResNet-18/34/50/101/152 工业级部署实战:从PyTorch到TensorRT的5步性能优化在计算机视觉领域,ResNet系列模型作为里程碑式的架构,至今仍是许多工业场景的首选基准模型。但当我们将实验室训练的模型部署到实际生产环境时,往往会遇…

📅 2026/8/22 2:41:01
谷歌旧将 Nick Desaulniers 重返,提交补丁助力 Linux 内核发展

谷歌旧将 Nick Desaulniers 重返,提交补丁助力 Linux 内核发展

Nick Desaulniers 回归:Linux 内核贡献者的“二进宫” 曾是 Linux 内核 LLVM 支持维护者的 Nick Desaulniers,在 2025 年 2 月离开谷歌加入特斯拉后停止了对 Linux 内核的贡献。如今,他重返谷歌,并宣布再次为 Linux 内核做贡献。此…

📅 2026/9/10 1:29:22
zynq在u-boot中导入导出Flash文件

zynq在u-boot中导入导出Flash文件

正常情况下&#xff0c;只用到flash前面1MB 这里只写flash的前面1MB从板子中提取flash.bin到tftp服务器 # sf read <ram_addr> <flash_offset> <length> # tftp服务器配置 Zynq> setenv ipaddr 192.168.3.13 setenv serverip 192.168.3.17 setenv gatewa…

📅 2026/8/24 21:30:02
MORE NEWS

更多资讯

📰

Element Plus Transfer 穿梭框组件完全指南:从基础用法到源码级原理剖析

Element Plus Transfer 穿梭框组件完全指南&#xff1a;从基础用法到源码级原理剖析 【免费下载链接】element-plus &#x1f389; A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus 导读 穿梭框&#xff0…

📰

【更新至2024年】2011-2024年上市公司新质生产力数据(含原始数据+处理代码+结果)

【更新至2024年】2011-2024年上市公司新质生产力数据&#xff08;含原始数据处理代码结果&#xff09; 1、时间&#xff1a;2011-2024年 2、来源&#xff1a;上市公司年报、csmar 3、指标&#xff1a;股票代码、年份、股票简称、行业名称、行业代码、所属省份代码、所属省份…

📰

pm-product-discovery 实战指南:用 13 个 Agentic Skills 跑通端到端产品发现流程

pm-product-discovery 实战指南&#xff1a;用 13 个 Agentic Skills 跑通端到端产品发现流程 【免费下载链接】pm-skills PM Skills Marketplace: 100 agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth. 项目地址: htt…

📰

5分钟从零到一:OpenProject 开源项目管理软件快速上手

5分钟从零到一&#xff1a;OpenProject 开源项目管理软件快速上手 【免费下载链接】openproject OpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, iss…

📰

如何在浏览器里展示三维体积数据:CesiumJS 体素渲染实战

如何在浏览器里展示三维体积数据&#xff1a;CesiumJS 体素渲染实战 【免费下载链接】cesium An open-source JavaScript library for world-class 3D globes and maps :earth_americas: 项目地址: https://gitcode.com/GitHub_Trending/ce/cesium 如果你需要在浏览器里…

📰

使用 FastAPI 部署 DeepSeek-R1-Distill-Qwen-7B:从环境配置到 curl / requests 接口调用的完整实战指南

使用 FastAPI 部署 DeepSeek-R1-Distill-Qwen-7B&#xff1a;从环境配置到 curl / requests 接口调用的完整实战指南 【免费下载链接】self-llm 《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调&#xff08;全参数/Lora&#xff09;、部署国内外开源大模型…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬