diskimage-builder/releasenotes/notes/timestamp-43015aa5434e8ddb.yaml
Ian Wienand f60dd38482 Add timestamp output filter
This adds a devstack-inspired output filter to standardise
timestamping.

Currently, python tools timestamp always (timestamp setup in
logging_config.py) but all the surrounding bash does not.

We have extra timestamps added in run_functests.sh for our own
purposes to get the bash timestamps; but this ends up giving us
double-timestamps for the python bits.  Additionally, callers such as
nodepool capture our output and put their own timestamps on it, and
again have the double-timestamps.

This uses a lightly modified outfilter.py from devstack to standardise
this.

All output is run through this filter, which will timestamp it.  I
have removed the places where we double-timestamp -- logging_config.py
and the prefix in dib-run-parts.

An env option is added to turn timestamps off completely (does not
seem worth taking up a command-line option for).  For callers like
nodepool, they can set this and will just have their own timestamps as
they collect the lines.

Since all logging is going through outfilter, it's easy to add a
--logfile option.  I think this will be quite handy; personally I'm
always redirecting dib runs to files for debugging.

I've also added a "quiet" option.  I think this could be useful in
run_tests.sh if we were to start logging the output of each test to
individual files.  This would be much easier to deal with than the
very large log files we get (especially if we wanted to turn on
parallel running...)

Change-Id: I202e1cb200bde17f6d7770cf1e2710bbf4cca64c
2017-06-16 15:58:50 +10:00

14 lines
No EOL
661 B
YAML

---
features:
- A ``--logfile`` option is added to save output to a given file.
- By default, all ``stdout`` will log with timestamps (this used to
be inconsistent; python tools logged with a timestamp, and bash
parts did not). If you set ``DIB_NO_TIMESTAMP`` to ``1`` the
timestamp prefix will be suppressed (this would be appropriate if
you are running diskimage-builder and capturing its output, and
adding your own timestamp). Note that output to ``--logfile``
will always be timestamped.
- You can set ``DIB_QUIET`` to ``1`` to suppress all output. This
is likely only useful when used with the ``--logfile`` command.