请问你们是否接受如下修改的PR
#167 · open · 3 comments
View on GitHub ↗
# 改动1:

EasyLogger 的默认配色,不管是在白色还是黑色的背景的终端,都无法很好地显示出来。在白色背景下,黄色的输出看不清,在黑色背景
下,蓝色的输出看不清。
我修改了日志的样式,将前景色改成背景色,并基于背景颜色来决定前景色为黑还是白。
此外,这种非常有特色的输出,还能很好地区别开其他模块输出到同一个终端而产生的日志。
# 改动2:
EasyLogger 中有个 hexdump,但是 hexdump 本身没有可调节的日志等级,我想做 6 个日志等级 hexdump 函数。
# 改动3:
允许用户为不同的 log tag 设置不同的日志策略。用户启用该功能的具体方法是在 include EasyLogger 的头文件之前定义两个 Macro,分别是 log_tag 和 log_level。
---
请问你们是否接受上述修改?如果接受的话我将尽快修改并提交上述改动。
Comments
感谢你的反馈哈
- 改动1,关于不同级别的日志样色样式
其实是是可以在 elog_cfg.h 中配置 `ELOG_COLOR_ASSERT` `ELOG_COLOR_ERROR` 等宏定义,来覆盖 elog 中默认的颜色配置(详见 elog.c 头部宏定义形式),不需要修改源码的。颜色这块大家审美和终端工具都不一样,应该很难完全统一。
- 改动2,hexdump 日志级别
其实 hexdump 在设计之处就是调试使用的,如果其他级别还需要用到 hexdump 是不是这些日志的级别没有选好呢?能否说一下其他级别使用 hexdump 的大概场景?
- 改动3,允许用户为不同的 log tag 设置不同的日志策略
我理解这个功能应该是已经有的?每个文件都是可以设置不同的 tag ,也可以设置不能 level,能否讲具体一些呢?
1. 我可以添加一个宏,ELOG_COLOR_STYLE_BG,供用户开启日志样式为字体着色或背景着色。如果用户没有开启背景着色,就按照现有样式来。如果用户开启了背景着色,就按照我截图上的样式来。我认为,背景着色的方案对于各个终端都有更好的可读性。
2. hexdump 一般有两种使用场景,一种是输出一个int数组、char数组(包含非显示字符)内部的数据,也有输出 IIC、SPI、UART、USB、BLE 等等收发的报文。有些场景,相比起自己现场写个for循环,hexdump 明显是更方便、更不会“污染”主要业务代码的方法。
3. 我在提交这个 issues 的时候不知道,我使用的当前最新的 Releases 版本。
- 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 日志");
```