JsonReporter class

Writes the run as JSON Lines, one object per event, for scripts and agents

Each object is written as soon as its event happens, so a run that is stopped still leaves valid lines behind, and the last line of a finished run holds its whole outcome. The output of the commands is not written, since it can be thousands of lines. The end of the output of a failed step is in its step_finished event, and the whole output is in the log file.

The format is documented in doc/output/output_intro.md. New events and fields can be added freely, while removing a field or changing its meaning bumps the schema and is a breaking change

Implemented types

Constructors

JsonReporter({String? logFilePath, StringSink? out})
The out defaults to the stdout, and is replaced in the tests

Properties

hashCode → int
The hash code for this object.
no setterinherited
logFilePath → String?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → Future<void>
Called once after RunFinished, to release whatever the reporter holds
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onEvent(PipeEvent event) → void
override
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

schema → const int