Auto-tools/Projects/Structured Logging
< Auto-tools | Projects
This page is a high level account of the structured logging project providing links to many resources about the project. This page is a work in progress.
Background and Motivation
Goals:
- Support a wider range of output formats
- Eliminate complex and brittle regex based log parsing
- Consolidate output processing between harnesses
Approach:
- Establish a common data format for test results
- Populate data format in-harness with a standardized logging API
- Log data from test harnesses as data structures rather than formatting them into strings
Implementation
Participant Systems
- System under test (Javascript, Java, C++)
- Python test harness
- Mozharness/Buildbot
- Tbpl/Treeherder
- Blobber
Logging APIs
The primary logging api for our data format is mozlog.structured readthedocs
For data originating from JavaScript or Java systems, StructuredLog.jsm and StructuredLogger.java have been implemented to produce this data format. The python library supports logging JSON directly from these producers with log_raw.