Auto-tools/Projects/Structured Logging: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 22: Line 22:


=== Logging APIs ===
=== Logging APIs ===
The primary logging API for our data format is mozlog's structured module ([http://mozbase.readthedocs.org/en/latest/mozlog_structured.html readthedocs]).
The primary logging API for our data format is mozlog's structured module ([http://mozbase.readthedocs.org/en/latest/mozlog_structured.html readthedocs]). An extensive example of how to use the api is included in these docs.


For data originating from JavaScript or Java, StructuredLog.jsm and StructuredLogger.java have been implemented to produce this data format. Mozlog supports logging data directly from these producers.
For data originating from JavaScript or Java, StructuredLog.jsm and StructuredLogger.java have been implemented to produce this data format. Mozlog supports logging data directly from these producers.

Revision as of 19:03, 27 August 2014

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 range of output formats for test results
  • Eliminate complex and brittle regex based log parsing
  • Consolidate output processing and logging configuration

Approach:

  • Establish a common data format for test results and test harness diagnostics
  • Populate data format in-harness with a logging API designed to output this format
  • Log data from test harnesses as JSON rather than formatted strings

Implementation

Participant Systems

  • Producer process (Firefox/Fennec/B2G - JS/Java/C++)
  • Test harness (Python/JS)
  • Mozharness/Buildbot
  • Tbpl/Treeherder
  • Blobber

Logging APIs

The primary logging API for our data format is mozlog's structured module (readthedocs). An extensive example of how to use the api is included in these docs.

For data originating from JavaScript or Java, StructuredLog.jsm and StructuredLogger.java have been implemented to produce this data format. Mozlog supports logging data directly from these producers.

Status

  • The tracking bug for this effort is bug916295.
  • An etherpad with high-level status updates per test harness is maintained for the time being.