structlog: migrate application code to better logging
Initial work to migrate our application to structlog for better logging, making
them compatible with New Relic's integration.
There are more work that can be done here to make it better. For example, more
usage of `log.bind` to avoid repetition. Besides, rewriting some log message and
reduce them to have more Canonical Log
Lines (https://www.structlog.org/en/stable/logging-best-practices.html#canonical-log-lines)
instead.