Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
jixinqi opened this issue Dec 26, 2024 · 3 comments
Open

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

jixinqi opened this issue Dec 26, 2024 · 3 comments

Comments

@jixinqi
Copy link

jixinqi commented Dec 26, 2024

改动1:

image

EasyLogger 的默认配色,不管是在白色还是黑色的背景的终端,都无法很好地显示出来。在白色背景下,黄色的输出看不清,在黑色背景
下,蓝色的输出看不清。

我修改了日志的样式,将前景色改成背景色,并基于背景颜色来决定前景色为黑还是白。

此外,这种非常有特色的输出,还能很好地区别开其他模块输出到同一个终端而产生的日志。

改动2:

EasyLogger 中有个 hexdump,但是 hexdump 本身没有可调节的日志等级,我想做 6 个日志等级 hexdump 函数。

改动3:

允许用户为不同的 log tag 设置不同的日志策略。用户启用该功能的具体方法是在 include EasyLogger 的头文件之前定义两个 Macro,分别是 log_tag 和 log_level。


请问你们是否接受上述修改?如果接受的话我将尽快修改并提交上述改动。

@armink
Copy link
Owner

armink commented Dec 26, 2024

感谢你的反馈哈

  • 改动1,关于不同级别的日志样色样式

其实是是可以在 elog_cfg.h 中配置 ELOG_COLOR_ASSERT ELOG_COLOR_ERROR 等宏定义,来覆盖 elog 中默认的颜色配置(详见 elog.c 头部宏定义形式),不需要修改源码的。颜色这块大家审美和终端工具都不一样,应该很难完全统一。

  • 改动2,hexdump 日志级别

其实 hexdump 在设计之处就是调试使用的,如果其他级别还需要用到 hexdump 是不是这些日志的级别没有选好呢?能否说一下其他级别使用 hexdump 的大概场景?

  • 改动3,允许用户为不同的 log tag 设置不同的日志策略

我理解这个功能应该是已经有的?每个文件都是可以设置不同的 tag ,也可以设置不能 level,能否讲具体一些呢?

@jixinqi
Copy link
Author

jixinqi commented Dec 26, 2024

  1. 我可以添加一个宏,ELOG_COLOR_STYLE_BG,供用户开启日志样式为字体着色或背景着色。如果用户没有开启背景着色,就按照现有样式来。如果用户开启了背景着色,就按照我截图上的样式来。我认为,背景着色的方案对于各个终端都有更好的可读性。

  2. hexdump 一般有两种使用场景,一种是输出一个int数组、char数组(包含非显示字符)内部的数据,也有输出 IIC、SPI、UART、USB、BLE 等等收发的报文。有些场景,相比起自己现场写个for循环,hexdump 明显是更方便、更不会“污染”主要业务代码的方法。

  3. 我在提交这个 issues 的时候不知道,我使用的当前最新的 Releases 版本。

@armink
Copy link
Owner

armink commented Dec 26, 2024

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

#include <elog.h>

log_e("我是 wifi.proto 日志");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants