Log Micropython console text to file
Here is a small snippet, how you can write everything what you get on console to file in your Micropython device. This may help you to debug long running devices.
import io, os class logToFile(io.IOBase): def __init__(self): pass def write(self, data): with open("logfile.txt", mode="a") as f: f.write(data) return len(data) # now your console text output is saved into file os.dupterm(logToFile()) # disable logging to file os.dupterm(None)
Discussion
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?
You may give filename custom name based on date via following name:
You may use all date and time variable (google strftime function ), just avoid slashes and backslashes, semicolon and other special symbols in file name.