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.