Logging is the ability to record messages during the operation of your system. Log messages are typically structured and timestamped. They are often indispensable when trying to diagnose problems and troubleshoot your system. They are also critical when doing post-mortems and discovering root causes after the fact. In a large-scale distributed system, there will be many components that log messages. Collecting, organizing, and sifting through them is a non-trivial task. But first, let's consider what information is useful to log.
Logging
What should you log?
This is the million dollar question. A simplistic approach is to log everything. You can never have too much data, and it's difficult to predict what data you...