On 09/21/2017 12:22 PM, Eduardo Habkost wrote: > Not all scripts using qemu.py configure the Python logging > module, and end up generating a "No handlers could be found for > logger" message instead of actual log messages. > > To avoid requiring every script using qemu.py to configure > logging manually, call basicConfig() when creating a QEMUMachine > object. This won't affect scripts that already set up logging, > but will ensure that scripts that don't configure logging keep > working. > > Reported-by: Kevin Wolf <kw...@redhat.com> > Fixes: 4738b0a85a0c2031fddc71b51cccebce0c4ba6b1 > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > scripts/qemu.py | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 5e02dd8e78..73d6031e02 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -89,6 +89,9 @@ class QEMUMachine(object): > self._qmp = None > self._qemu_full_args = None > > + # just in case logging wasn't configured by the main script: > + logging.basicConfig(level=(logging.DEBUG if debug else logging.WARN)) > + > def __enter__(self): > return self > >
Your description is accurate, and backed by: https://docs.python.org/3/library/logging.html#logging.basicConfig Quoting the relevant section: "This function does nothing if the root logger already has handlers configured for it." Reviewed-by: Cleber Rosa <cr...@redhat.com>