blog:210105_log_micropython_console_text_to_file

You are not allowed to perform this action
Martin Ortiz, 2021/08/01 13:23

hi, I tried and worked perfect. but i would like to understand how as I need to make some changes on it, for instead be sure to flush the file when/before to reboot/deepsleep-.

Also I would like to name the file adding a _YYMMDDHHMMSS ending, or just pass a name as a additional parameter.

I was reading about io.IOBase for an ESP32 https://docs.micropython.org/en/latest/library/uos.html?highlight=iobase and at https://pydocs2cn.readthedocs.io/projects/pydocs2cn/en/latest/library/io.html.

any hint?

Ignas, 2021/08/16 14:03, 2021/09/06 19:23

You may give filename custom name based on date via following name:

    def write(self, data):
        logFileName = 'info_{}.log'.format(strftime('%d_%m_%Y_%T'))
        with open(logFileName, mode="a") as f:
            f.write(data)
        return len(data)

You may use all date and time variable (google strftime function ), just avoid slashes and backslashes, semicolon and other special symbols in file name.

Tony, 2022/08/04 13:10

Hey there,

Just for the people that are interested for creating separate log files for each time the device reboots / deepsleeps, I have made the following alteration that keeps the logfiles from being overwritten every reboot/deepsleep. Notice that this solution does not need any time keeping (and therefore an internet connection to synchronize time). I hope that it helps anyone facing debugging issues on long running devices where serial connections over longer periods do not make sense. Cheers.

https://pastebin.com/cFgnvYqi

Enter your comment. Wiki syntax is allowed:
If you can't read the letters on the image, download this .wav file to get them read to you.
 
  • blog/210105_log_micropython_console_text_to_file.txt
  • Last modified: 2021/11/19 18:17
  • by Ignas