[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v10 14/14] iotests: use python logging for iotests.log()
From: |
Kevin Wolf |
Subject: |
Re: [PATCH v10 14/14] iotests: use python logging for iotests.log() |
Date: |
Tue, 31 Mar 2020 15:44:46 +0200 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
Am 31.03.2020 um 02:00 hat John Snow geschrieben:
> We can turn logging on/off globally instead of per-function.
>
> Remove use_log from run_job, and use python logging to turn on
> diffable output when we run through a script entry point.
>
> iotest 245 changes output order due to buffering reasons.
>
>
> An extended note on python logging:
>
> A NullHandler is added to `qemu.iotests` to stop output from being
> generated if this code is used as a library without configuring logging.
> A NullHandler is only needed at the root, so a duplicate handler is not
> needed for `qemu.iotests.diff_io`.
>
> When logging is not configured, messages at the 'WARNING' levels or
> above are printed with default settings. The NullHandler stops this from
> occurring, which is considered good hygiene for code used as a library.
>
> See https://docs.python.org/3/howto/logging.html#library-config
>
> When logging is actually enabled (always at the behest of an explicit
> call by a client script), a root logger is implicitly created at the
> root, which allows messages to propagate upwards and be handled/emitted
> from the root logger with default settings.
>
> When we want iotest logging, we attach a handler to the
> qemu.iotests.diff_io logger and disable propagation to avoid possible
> double-printing.
>
> For more information on python logging infrastructure, I highly
> recommend downloading the pip package `logging_tree`, which provides
> convenient visualizations of the hierarchical logging configuration
> under different circumstances.
>
> See https://pypi.org/project/logging_tree/ for more information.
>
> Signed-off-by: John Snow <address@hidden>
> Reviewed-by: Max Reitz <address@hidden>
Should we enable logger if -d is given?
Previously we had:
$ ./check -d -T -raw 281
[...]
281 not run: not suitable for this image format: raw
281 not run [15:39:03] [15:39:04] not suitable for
this image format: raw
Not run: 281
After this series, the first line of output from notrun() is missing.
Not that I think it's important to have the line, but as long as we
bother to call logger.warning(), I thought that maybe we want to be able
to actually see the effect of it somehwere?
Kevin
- Re: [PATCH v10 10/14] iotests: add hmp helper with logging, (continued)
- [PATCH v10 06/14] iotests: alphabetize standard imports, John Snow, 2020/03/30
- [PATCH v10 09/14] iotests: limit line length to 79 chars, John Snow, 2020/03/30
- [PATCH v10 12/14] iotest 258: use script_main, John Snow, 2020/03/30
- [PATCH v10 13/14] iotests: Mark verify functions as private, John Snow, 2020/03/30
- [PATCH v10 11/14] iotests: add script_initialize, John Snow, 2020/03/30
- [PATCH v10 14/14] iotests: use python logging for iotests.log(), John Snow, 2020/03/30
- Re: [PATCH v10 14/14] iotests: use python logging for iotests.log(),
Kevin Wolf <=
- Re: [PATCH v10 00/14] iotests: use python logging, Kevin Wolf, 2020/03/31