Creating a basic log
There are two necessary steps to logging:
Get a
logging.Logger
instance with thelogging.getLogger()
function.Create messages with that
Logger
. There are a number of methods with names such aswarn()
,info()
,debug()
,error(),
andfatal()
that create messages with different levels of importance.
These two steps are not sufficient to give us any output, however. There's a third step that we take only when we need to see the output. Some logging is for debugging purposes, and seeing a log isn't always required. The optional step is to configure the logging
module's handlers, filters, and formatters. We can use the logging.basicConfig()
function for this.
It's technically possibly to even skip the first step. We can use the default logger that's part of the logging
module's top-level functions. We showed you this in Chapter 8, Decorators and Mixins – Cross-cutting Aspects, because the focus was on decoration, not logging. We advise you against using the default root logger...