We've all written that extra tracing code, code that is intended to be used when things go wrong. when we turn on tracing etc. We've all (probably) also hit the snag where the tracing code failed - because we didnt test it or because we forgot about the fact that during an error situation - all bets are off.
How do we do this better - how so we add diagnostic code (in all the various places that its need) that is robust , useful and hopefully performant?
We've all written that extra tracing code, code that is intended to be used when things go wrong. when we turn on tracing etc. We've all (probably) also hit the snag where the tracing code failed - because we didnt test it or because we forgot about the fact that during an error situation - all bets are off.
How do we do this better - how so we add diagnostic code (in all the various places that its need) that is robust , useful and hopefully performant?