>
unless you are writing c++Guilty as charged.
> If you were to take hard crashes into account, you would even have to log before each operation instead of after
Yes, that's exactly what I see done and do for large enough operations (substeps of those operations only log when they're done).
> basically reverting to printf-debugging
That's what logging is, fundamentally. printf debugging, but with your own printf that has a few more knobs.