EasyLogger icon indicating copy to clipboard operation
EasyLogger copied to clipboard

An ultra-lightweight(ROM<1.6K, RAM<0.3k), high-performance C/C++ log library. | 一款超轻量级(ROM<1.6K, RAM<0.3k)、高性能的 C/C++ 日志库

Results 77 EasyLogger issues
Sort by recently updated
recently updated
newest added

easylogger支持输出到RTTView吗?能不能同时支持输出到rttview和文件?有的log希望输出到rttview,有的log希望输出到文件。

Easylogger 一些代码并不是可跨平台移植的,导致可移植的代码和port之间界限不是很清晰 比如elog_file.c使用了libc fopen/fwrite这些函数,虽然libc是标准的,但实际情况是很多嵌入式平台上没有,而使用的如fatfs, littefs等FS接口。进而要求用户手动改elog_file.c文件,其中关于file rotation的部分比较容易出错。最近在一个平台上使用easylogger的时候做了一些修改,在elog_file.c中使用一组自定义的简单文件接口,而在elog_file_port.c中只需要实现这些接口即可 elog_file_port.h ```c #define ELOG_FILE_INVALID_HANDLE -1 typedef int ElogFileHandle; /* file port */ ElogErrCode elog_file_port_init(void); #ifdef ELOG_FILE_LOCK_ENABLE void elog_file_port_lock(void); void elog_file_port_unlock(void); #define ELOG_FILE_LOCK() elog_file_port_lock() #define...

写FLASH/文件系统的操作,不应该在PORT层中,用户也许会希望控制某个级别的LOG,来决定是否写入FLASH/文件系统。 比如, assert, error, warning写入文件系统,而其他lv不写入。 目前我的做法是简单的复用了FMT,在elog.c中来决定是根据标志来决定是否写入文件/FLASH。 由于FMT是格式化用的,可能不是很妥当,但这样做法比较灵活,也可以单独设置一个FILE level,大于某个LV的来决定是否要写入文件。 ```c typedef enum { ELOG_FMT_LVL = 1

![图片](https://user-images.githubusercontent.com/123786521/231046468-b0bef680-cf5d-4de7-b65a-9a8d38abbf42.png) 在这个路径的示例的81行 ![图片](https://user-images.githubusercontent.com/123786521/231046576-9ff2245d-7ceb-4420-afe1-af131ef18835.png) ef_port_read() 函数中这样判断会出问题(例如size=1),最终会跳入中断HardFault_Handler 修改成这样似乎可以避免问题 ![图片](https://user-images.githubusercontent.com/123786521/231047022-882ca250-b62f-43fd-9bf4-bf90383b497c.png)

1. elog_file_config函数中打开配置文件的代码如下: if (local_cfg.name != NULL && strlen(local_cfg.name) > 0) fp = fopen(local_cfg.name, "a+"); } 2. elog_file_write这个函数中就直接对fp进行操作,而没有继续对文件指针进行判断,如果上面配置的文件不存在,这里会导致异常。

有日志老化功能吗?

再ubtuntu20.04上使用easylogger,将ELOG_TERMINAL_ENABLE宏定义关闭之后,可以关闭在终端的输出;但是通过交叉编译链将其移植到嵌入式平台上之后,发现ELOG_TERMINAL_ENABLE失效了,不管是打开还是关闭都会在终端输出数据?

大佬可以分享一下控制台命令交互设置日志的过滤信息的demo吗,就是readme里面通过命令去打开关闭宏和设置过滤信息的demo~感谢

在STM32上将EasyLogger输出到U盘中时,应该如何初始化,以及调用相关函数?