armink / EasyLogger

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

对于输出的文件,是否可以加一个hook, 用代码指定路径

yangpenglove opened this issue · comments

感谢easylog, 我在使用中发现,调用filelog的时候是用宏定义,能不能加一个hook, 可以动态传入log文件,这样子更方便远程调试

可以动态传入log文件,这样子更方便远程调试

这个需求可以再描述的具体一些吗?

我的意思是:
ELOG_FILE_NAME 这里面需要定义文件路径,但是,不同平台需要获取的路径不一样,尤其是win,mac,linux 平台,获取一个可写入的路径是随着操作系统升级而变化的,也就是动态的,所以是否可以取消这个宏定义,然后
cfg.name = ELOG_FILE_NAME;
cfg.max_size = ELOG_FILE_MAX_SIZE;
cfg.max_rotate = ELOG_FILE_MAX_ROTATE;
这个里面用cfg.name = elog_file(void) 这种方式来运行,最好是stream的形式,或者是FILE*等,这样子更适合后续使用
当然,这样可能会破坏你的rotate逻辑,但是也依然可以使用elog_new_log_file(void) 类似的方式

PS,我现在使用 cfg.name = getfile() 这样一个方法