rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

ulog支持打印调用所在的函数,文件名和行数

Open mysterywolf opened this issue 1 year ago • 6 comments

ulog支持打印调用所在的函数以及文件和行数.

如果一起都打印出来会导致日志内容过场,可以分别定义三个宏,用户可以自由决定开启打印 函数 文件名 行数

mysterywolf avatar Jun 26 '23 03:06 mysterywolf

RT_ASSERT 中是否也可以添加文件名的输出?

https://github.com/RT-Thread/rt-thread/blob/aee1bd532ed4b21e2eb2c5cfa32fd8af0b579bf3/include/rtthread.h#L715-L719

polarvid avatar Jul 23 '23 06:07 polarvid

赞同

mysterywolf avatar Jul 23 '23 06:07 mysterywolf

RT_ASSERT 中是否也可以添加文件名的输出?

https://github.com/RT-Thread/rt-thread/blob/aee1bd532ed4b21e2eb2c5cfa32fd8af0b579bf3/include/rtthread.h#L715-L719

好像文件名这个东西,不同的编译器行为不一样,我记得哪个编译器会把全路径打出来,就很烦人。。。

Guozhanxin avatar Aug 29 '23 10:08 Guozhanxin

RT_ASSERT 中是否也可以添加文件名的输出? https://github.com/RT-Thread/rt-thread/blob/aee1bd532ed4b21e2eb2c5cfa32fd8af0b579bf3/include/rtthread.h#L715-L719

好像文件名这个东西,不同的编译器行为不一样,我记得哪个编译器会把全路径打出来,就很烦人。。。

VS Code 有路径和行数可以直接生成超链接跳转,还是很方便的。

image

显示格式可以通过宏配置,这样有需要可以打开。特别是 assert。现在查 assert 还要全局搜索一下函数名,可能还有重名,查起来不是很方便……

polarvid avatar Sep 06 '23 03:09 polarvid

文件名和行号信息对于断言是实用的,最好默认就有的。但对 ulog 而言,尤其是一些低级别日志,用处不见得多。以前 elog 我也加过,而且不同级别日志格式也是可配置的,但实用性较少,还会增加很多冗余 log ,后面 ulog 就暂时没做这块

armink avatar Sep 17 '23 10:09 armink

有额外flash 开销吧。。。, 并且如果真的需要的完全可以自己加呀:例如

LOG_I("%s, %s(): %s: xxxxxxxx", __FILE__, __func__, __LINE__);

a1012112796 avatar Sep 27 '23 02:09 a1012112796