13.6 Using logging for control and audit output
When we consider an application, we can decompose the overall computation into three distinct aspects:
Gathering input
The essential processing that transforms the input into the output
Producing output
There are several different kinds of output that applications produce:
The main output that helps a user make a decision or take action. In some cases, this might be a JSON-formatted document downloaded by a web server. It might be a more complicated collection of documents that – together – will create a PDF file.
Control information that confirms that the program worked completely and correctly.
Audit summaries that can be used to track the history of state changes in a persistent databases.
Any error messages that indicate why the application didn’t work.
It’s less than optimal to lump all of...