Implement proper logging for debusine worker
For the debusine-worker, we should be able to:
- set the "log-level" key in the "General" section of the configuration file to change the minimal level of recorded/displayed log messages
- pass
--log-level <level>
with the same effect (the command line taking precedence over the configuration file) - set "log-file" key in the "General" section of the configuration file to store a copy of the logs in the given file
- pass
--log-file <logfile>
with the same effect (the command line taking precedence over the configuration file)
Among the things logged, we should have:
- the messages received through the websocket
- the details of each work request that has been retrieved
- the full exception when one is raised during Task configuration/execution
- the details of what has been sent back to the debusine server through its API
This should be all managed with Python's "logging" framework.
(Related to #26 (closed).)