Keep an Audit Trail =================== In a complex system, one way to identify a problem is to keep an audit log and identify events in the log that correspond with the problem. This might involve software instrumentation that prints out events, or it could involve hand written notes the document the environment of the system, or a sequence of external events that trigger the problem (e.g. the system fails on hot days). Here are some tips that can help to identify problems by documenting events and environments. * Make a list (or even better, a test file) of inputs that trigger the bug. * Save the output to a log file that can be analysed offline (:ref:`log_files`)