Here is a basic first draft of a script to remove the chatty fluff from a build log.

I tried it on a build log from a linux box I use. The entire log is 1511 lines long; the reduced log is 584 lines long, meaning that 39% of the log is issues that maybe need addressing.

-- Jon


cat $1 |
grep -v -E '^(Assembling|Compiling|Copying|Creating|Generating|Importing|Linking|Making|Running|Updating|Using|Verifying) ' |
    grep -v -E '^(Aliases|Cache|Classes|INFO): ' |
    grep -v -E '^All done.' |
    grep -v -E '^$' |
    grep -v -E '^(## |---*)' |
    grep -v -E '^(Start|End|[0-9][0-9]:[0-9][0-9]:[0-9][0-9]) '



On 04/25/2013 12:05 PM, Jonathan Gibbons wrote:
Build folk,

There are two types of line in a typical build.log file: there are "info" lines which detail the ongoing progress of the build, and there are "other" lines containing info which ought to be of interest to someone: warnings, errors, etc.

Previously, attempts to clean up build issues have focussed on analyzing the log for warnings. This time, I'm going to suggest the opposite. How about providing a script somewhere which can be used after a build to filter out the "info" lines, leaving just the warnings and error messages, so that they can more easily be seen and addressed.

The script could simply be a series of "grep -v" commands, filtering out lines beginning "Compiing ...." or "Assembling..." or "## comment" or "INFO: ..." or "Importing ..." etc. For those folk using Hudson to build OpenJDK on an ongoing basis, maybe the number of lines in this reduced log would be of interest, and could be tracked in a Hudson trend graph.

-- Jon





Reply via email to