On Wed, Sep 22, 2021 at 08:49:28PM -0400, John Snow wrote: > AQMP is a library, and ideally it should not print error diagnostics > unless a user opts into seeing them. By default, Python will print all > WARNING, ERROR or CRITICAL messages to screen if no logging > configuration has been created by a client application. > > In AQMP's case, ERROR logging statements are used to report additional > detail about runtime failures that will also eventually be reported to the > client library via an Exception, so these messages should not be > rendered by default. > > (Why bother to have them at all, then? In async contexts, there may be > multiple Exceptions and we are only able to report one of them back to > the client application. It is not reasonably easy to predict ahead of > time if one or more of these Exceptions will be squelched. Therefore, > it's useful to log intermediate failures to help make sense of the > ultimate, resulting failure.) > > Add a NullHandler that will suppress these messages until a client > application opts into logging via logging.basicConfig or similar. Note > that upon calling basicConfig(), this handler will *not* suppress these > messages from being displayed by the client's configuration. > > Signed-off-by: John Snow <js...@redhat.com> > --- > python/qemu/aqmp/__init__.py | 4 ++++ > 1 file changed, 4 insertions(+)
Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org