Opened 10 years ago

Last modified 6 years ago

#593 new defect

Flexible default logging.

Reported by: verm Owned by:
Priority: major Milestone: 0.9.+
Version: 0.7.11 Keywords:

Description (last modified by dustin)

At the moment it's possible to specify logging (using default configurations) in only one way, which is to supply logfiles={}

This has the disadvantage of streaming data in real time. Not all logs during the build process require realtime streaming.

Another issue is the stdio log, this copies both stdin and stderr to the same log file.

It would be nice to have three specific features added to the default logging mech:

  1. Specify different logfiles for stdin/stderr or other named pipes.
  2. Specify a logfile that should only be uploaded at the _end_ of the build step, whether it fails or succeeds. For example uploading config.status and config.log at the end running ./configure in a gnu autoconf setup.
  3. The ability to specify a callback to filter a log file through. For instance:
    log(<input log on slave>, <callback function>, <log file to save on master>)

This would allow for filtering output from utilities that allow for custom log file output, such as cl from MSVC, or other utilities that may provided XML or other normalised output methods.


Change History (6)

comment:1 Changed 9 years ago by verm

I've got an update to this ticket, when parsing logfiles the callback should have access to stdout,stderr or any other named pipes when parsing the log. Having each log fed in separately wouldn't be viable if you wanted to create inline messages for stderr or named pipes.

comment:2 Changed 9 years ago by dustin

  • Milestone changed from undecided to 0.8.+

From bug #615:

Currently LogObservers?? are created in the start method of BuildStep??. This makes it hard to write generic observers that can work with many different steps: it couples things that don't have a strong reason to be coupled.

One way that this could be done is to have a standard factory attribute listing log observer factories & arguments. This would then be called either before or after start (probably after).

I want this for Subunit support polish.

FWIW, I think this is a cool idea, but I don't see it getting done in 0.7.12. I'd love to be proven wrong :)

comment:3 Changed 9 years ago by dustin

  • Description modified (diff)

comment:4 Changed 8 years ago by verm

#1699 is related to this.

comment:5 Changed 7 years ago by dustin

  • Milestone changed from 0.8.+ to 0.9.+

comment:6 Changed 6 years ago by dustin

  • Description modified (diff)
Note: See TracTickets for help on using tickets.