请问你们是否接受如下修改的PR

#167 · open · 3 comments

View on GitHub ↗

jixinqi

# 改动1: ![image](https://github.com/user-attachments/assets/eb841677-b2eb-4c10-b159-a370d9ae2c5d) EasyLogger 的默认配色,不管是在白色还是黑色的背景的终端,都无法很好地显示出来。在白色背景下,黄色的输出看不清,在黑色背景 下,蓝色的输出看不清。 我修改了日志的样式,将前景色改成背景色,并基于背景颜色来决定前景色为黑还是白。 此外,这种非常有特色的输出,还能很好地区别开其他模块输出到同一个终端而产生的日志。 # 改动2: EasyLogger 中有个 hexdump,但是 hexdump 本身没有可调节的日志等级,我想做 6 个日志等级 hexdump 函数。 # 改动3: 允许用户为不同的 log tag 设置不同的日志策略。用户启用该功能的具体方法是在 include EasyLogger 的头文件之前定义两个 Macro,分别是 log_tag 和 log_level。 --- 请问你们是否接受上述修改?如果接受的话我将尽快修改并提交上述改动。

Comments

armink

感谢你的反馈哈 - 改动1,关于不同级别的日志样色样式 其实是是可以在 elog_cfg.h 中配置 `ELOG_COLOR_ASSERT` `ELOG_COLOR_ERROR` 等宏定义,来覆盖 elog 中默认的颜色配置(详见 elog.c 头部宏定义形式),不需要修改源码的。颜色这块大家审美和终端工具都不一样,应该很难完全统一。 - 改动2,hexdump 日志级别 其实 hexdump 在设计之处就是调试使用的,如果其他级别还需要用到 hexdump 是不是这些日志的级别没有选好呢?能否说一下其他级别使用 hexdump 的大概场景? - 改动3,允许用户为不同的 log tag 设置不同的日志策略 我理解这个功能应该是已经有的?每个文件都是可以设置不同的 tag ,也可以设置不能 level,能否讲具体一些呢?

jixinqi

1. 我可以添加一个宏,ELOG_COLOR_STYLE_BG,供用户开启日志样式为字体着色或背景着色。如果用户没有开启背景着色,就按照现有样式来。如果用户开启了背景着色,就按照我截图上的样式来。我认为,背景着色的方案对于各个终端都有更好的可读性。 2. hexdump 一般有两种使用场景,一种是输出一个int数组、char数组(包含非显示字符)内部的数据,也有输出 IIC、SPI、UART、USB、BLE 等等收发的报文。有些场景,相比起自己现场写个for循环,hexdump 明显是更方便、更不会“污染”主要业务代码的方法。 3. 我在提交这个 issues 的时候不知道,我使用的当前最新的 Releases 版本。

armink

- 1、可以加个 ELOG_COLOR_STYLE_BG 的,但默认就别开启 `字体着色或背景着色` 了,与项目原有风格一致 - 2、那你的用法和我也是一样的,是不是这些日志都调试阶段才用的?调试级别是不是更加合适呢? - 3、可以看下 API 文档: https://github.com/armink/EasyLogger/blob/master/docs/zh/api/kernel.md ,类似这种? ```C //WiFi 协议处理(位于 /wifi/proto.c 源代码文件) #define LOG_TAG "wifi.proto" #define LOG_LVL ELOG_LVL_DEBUG #include <elog.h> log_e("我是 wifi.proto 日志"); ```