Logging to Syslog
Unix-like systems usually provide a way to gather logging messages through the syslog
protocol, which allows us to separate the system storing the logs from the one generating them.
Especially in the context of applications distributed across multiple servers, this is very convenient; you certainly don't want to log into 20 different servers to gather all the logs of your Python application because it was running on multiple nodes. Especially for web applications, this is very common nowadays with cloud providers, so it's very convenient to be able to gather all the Python logs in a single place.
That's exactly what using syslog
allows us to do; we will see how to send the log messages to the daemon running on our system, but it's possible to send them to any system.
Getting ready
While this recipe doesn't need a syslog
daemon to work, you will need one to check that it's properly working or the messages won't be readable. In the case of Linux or macOS systems, this is usually...