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

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
【今天14:00直播】全球工业软件巨头HMI/SCADA核心功能解读
华秋DFM软件丨操作教程——菜单栏-文件板块篇
AI时代下,我们需要新一代的金融基础软件
新凯来-启云方:发布两款EDA软件(原理图和PCB)
特朗普宣布对中国加征100%新关税!对所有关键软件实施出口管制!
为何硬件安全与软件安全在现代系统中同等重要
刚刚!新凯来发布两款国产EDA软件!
又加征100%关税,关键软件出口管制
报告征集 | 中国工业软件行业发展研究报告
基于自动驾驶仿真软件的交通事故档案建模与分析
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号