Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaobo07
rt-thread
提交
d9b0b3ef
R
rt-thread
项目概览
Xiaobo07
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
d9b0b3ef
编写于
5月 22, 2022
作者:
mysterywolf
提交者:
GitHub
5月 23, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[文档] 修正贡献代码指南对于日志使用的描述 (#5975)
上级
1506829b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
4 deletion
+14
-4
documentation/contribution_guide/coding_style_cn.md
documentation/contribution_guide/coding_style_cn.md
+14
-4
未找到文件。
documentation/contribution_guide/coding_style_cn.md
浏览文件 @
d9b0b3ef
...
...
@@ -236,13 +236,23 @@ case 语句与前面的 switch 语句对齐,后续的语句则采用缩进的
这样括号内两侧的空格是不允许的。
## 11.
trace、log
信息
## 11.
日志
信息
在 RT-Thread 中,普遍使用的 log 方式是 rt_kprintf。rt_kprintf 在 RT-Thread 被实现成一个采用轮询、非中断方式的字串输出,能够适合于在中断这类"即时"显示日志的场合。因为这种轮询方式的存在,也必然会影响到日志输出的时序关系。
代码中多使用ulog的方式来输出日志,例如:
建议在代码中不要频繁的使用 rt_kprintf 作为日志输出,除非你真正的明白,你的代码运行占用的时间多一些也没什么关系。
```
#define DBG_TAG "Driver"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
LOG_D("this is a debug log.");
```
日志输出应该被设计成正常情况下是关闭状态(例如通过一个变量或宏就能够开启),并且当真正输出日志时,日志是易懂易定位问题的方式。"天书式"的日志系统是糟糕的,不合理的。
-
在 RT-Thread 中,普遍使用的日志输出方式是通过
`LOG_D`
、
`LOG_I`
、
`LOG_W`
、
`LOG_E`
的方式来输出日志,同时它也可以通过DBG_TAG来区分日志类别,DBG_LVL控制日志输出的等级。
-
日志应该是以输出易懂易定位问题的方式。"天书式"的日志系统是糟糕的,不合理的,不应该出现在代码中。
-
禁止在头文件中重定义DBG_TAG,防止其他模块包含时DBG_TAG出现不可控。
-
严禁在timer或者中断打印大量日志,尽可能的避免或轻量化。
-
不建议使用rt_kprintf来作为日志输出方式,rt_kprintf一般作为终端命令行交互使用。
## 12.函数
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录