Page 1 of 1

esp日志如何输出到flash保存?

Posted: Wed Oct 26, 2022 12:37 am
by watcher
目前使用vscode+esp-idf开发,版本v4.4.2,请问各位大佬有没有把esp日志保存到flash的方法?日志如果只通过串口输出,对于物联网设备当出现问题的时候比较难定位问题,主要就是看不到日志,出现问题需要连接电脑后复现问题再通过日志定位问题,有些问题偶现的,复现的概率比较低,所以希望esp能具备日志保存到flash(ESP_LOGI\ESP_LOGW\ESP_LOGE等等),反观对比rt-thread的easyLog模块,是支持日志输出到flash的。

Re: esp日志如何输出到flash保存?

Posted: Wed Nov 02, 2022 7:44 am
by yake827
参考此 demo 自己改一下就好:https://github.com/espressif/esp-idf/tr ... ce_to_host

Re: esp日志如何输出到flash保存?

Posted: Wed Nov 02, 2022 7:51 am
by watcher
yake827 wrote:
Wed Nov 02, 2022 7:44 am
参考此 demo 自己改一下就好:https://github.com/espressif/esp-idf/tr ... ce_to_host
emm... 感觉不怎么好用,已经移植easyLogger了,自己写的组件用easyLogger输出日志

Re: esp日志如何输出到flash保存?

Posted: Wed Nov 02, 2022 8:23 am
by yake827
其实核心原理就是把 ESP_LOG 的打印转存,你移植 easylog 其实也需要适配这些接口。写flash需要注意的是LOG会拖累系统运行的速度,而且过度擦除会影响flash寿命,所以不建议写太多东西,只需要存储必要的打印

Re: esp日志如何输出到flash保存?

Posted: Wed Nov 02, 2022 8:31 am
by watcher
yake827 wrote:
Wed Nov 02, 2022 8:23 am
其实核心原理就是把 ESP_LOG 的打印转存,你移植 easylog 其实也需要适配这些接口。写flash需要注意的是LOG会拖累系统运行的速度,而且过度擦除会影响flash寿命,所以不建议写太多东西,只需要存储必要的打印
是的,就是打印转存,目前移植easylog是作为文件的形式输出,用esp-idf的spiffs,自带的磨损平衡