Since years I’m trying to make systems more observable and I tried all kind of logging approaches. The last few weeks I’m using a very different approach to decomplect our most complex processes.
The processes now store all input, intermediate and output data into a temporary folder. If the process fails, then the folder is zipped and uploaded (to Google Cloud Storage). An error message is logged that includes the process type and the command how to download the zip file.
Full story here: