How to save all the logs automatically

I would like to keep the proxy open for few days without look at it.
Is there an option to save all the requests body to an external USB hard drive automatically\ in live ?

You can redirect standard output to file

mitmproxy … >> stdout.log

but you will not see request bodies.
You have to add a script like har dump.

You can run mitmdump and stream all flows to disk with -w.