分享几个嵌入式软件日志技巧!

strongerHuang 2025-09-02 08:20

关注+星标公众,不错过精彩内容

转自 | 嵌入式大杂烩


在嵌入式开发中,日志调试绝对是最常用、最实用的调试手段。但是可能很多工程师没有充分发挥日志调试的威力!

今天就来分享几个日志技巧,让你从"printf小白"进阶为"日志大师"!

1. 技巧一:模块标签 - 快速定位问题源头

1.1 模块化日志系统

资讯配图

1.2 示例

资讯配图

日志输出效果

[WIFI]Starting network scan...
[WIFI]Found 3 networks
[WIFI]Network[0]: MyHome_WiFi, RSSI: -45
[WIFI]Network[1]: Office_5G, RSSI: -67
[WIFI]Network[2]: Guest_Network, RSSI: -78

2. 技巧二:精准定位 - 什么时候该打日志?

2.1 错误处理

资讯配图

2.2 关键操作

资讯配图

2.3 系统启动关闭

资讯配图

2.4 性能监控

资讯配图

2.5 通信日志

资讯配图

2.6 用户行为

资讯配图

2.7 分支执行:程序流程追踪

资讯配图

2.8 崩溃信息:故障现场保护

资讯配图

3. 技巧三:日志开关 - 灵活控制日志输出

3.1 模块级日志开关

资讯配图

4. 技巧四:时间戳 - 精确的时序分析

4.1 高精度时间戳

资讯配图

4.2 性能分析日志

资讯配图

5. 技巧五:日志级别 - 分层管理信息

5.1 标准日志级别定义

资讯配图

5.2 实际应用示例

资讯配图

6. 技巧六:格式统一 - 结构化日志信息

6.1 标准日志格式设计

资讯配图

输出效果

[2024-01-15 14:30:25.123456][INFO][main.c:45][wifi_init] WiFi module initialized
[2024-01-15 14:30:25.234567][DEBUG][sensor.c:128][read_temperature] Temperature: 25.6°C
[2024-01-15 14:30:25.345678][WARN][storage.c:67][save_data] Storage almost full: 95%

7. 技巧七:动态过滤 - 实时调整日志输出

7.1 基于EasyLogger的动态过滤

资讯配图

7.2 命令行日志控制

资讯配图

8. 技巧八:Release/Debug智能切换

8.1 编译时日志控制

资讯配图

最后

好的日志系统不仅能帮你快速定位问题,还能让你深入理解系统的运行状态,甚至预防潜在的问题。

核心要点:

  • 在关键位置打日志
  • 使用模块标签分类
  • 合理设置日志级别
  • 包含精确时间戳
  • 提供动态控制能力

常见误区避免

  • 过度日志:不是越多越好
  • 信息不足:缺乏关键上下文
  • 格式混乱:难以自动化处理
  • 性能忽视:影响系统性能
  • 安全忽视:泄露敏感信息

------------ END ------------


资讯配图

培养一个优秀的嵌入式工程师有多难?


资讯配图

单片机OTA升级中的A/B双分区:经典方案与实现逻辑


资讯配图

几个受欢迎的嵌入式开源项目


声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
嵌入式 软件
more
嵌入式“风向标”再启幕!聚焦AIoT、人形机器人硬科技
独家对话RISC-V International CEO:从嵌入式到高性能,RISC-V的全域进击之路
嵌入式职业发展遇到瓶颈,改如何突破?
RT-Thread 2025年度嵌入式大赛正式启动!携手全球芯片巨头,开启创新盛宴
搞嵌入式,光埋头写代码可不够,出来见见世面更重要
90个嵌入式工程师需要掌握的基本概念
深圳国际电子展暨嵌入式展elexcon开幕,高通、瑞萨等企业嘉宾带来精彩分享!
嵌入式软件开发,有没有架构师?
STM32嵌入式开发项目实战|RTOS+MQTT+阿里云平台全流程教学+1V1辅导
下周二开幕|《观展攻略》一键收藏!深圳国际电子展暨嵌入式展8月26-28日福田会展中心盛大启幕!
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号