pub struct LogWatcher {
    buf: Arc<Mutex<Vec<u8>>>,
    events: Vec<TracingJsonEvent>,
}
Expand description

Helper to collect events emitted by Tracing and later make assertions about the collected events.

Fields

buf: Arc<Mutex<Vec<u8>>>

The raw bytes received from Tracing. Should represent new-line separated JSON objects.

events: Vec<TracingJsonEvent>

Events serialized from buf. As valid JSON objects are parsed from buf, the corresponding bytes are removed from buf. This way if there are any partial writes, only the complete objects are processed from the buffer, leaving incomplete objects in place.

Implementations

Make a new LogWatcher with some events pre-populated. Primarily for testing LogWatcher itself.

Iterate over the events collected so far by this log watcher.

Test if any event this logger received matches predicate.

Example
// assert!(log_watcher.has(|msg| msg.field_contains("message", "request success")));

Iterate through self.buf to convert newline separated, completed JSON objects into TracingJsonEvent instances that are placed in self.events.

Trait Implementations

Returns the “default value” for a type. Read more

The concrete io::Write implementation returned by make_writer. Read more

Returns an instance of Writer. Read more

Returns a Writer for writing data from the span or event described by the provided Metadata. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wraps self and returns a MakeWriter that will only write output for events at or below the provided verbosity Level. For instance, Level::TRACE is considered to be _more verbosethanLevel::INFO`. Read more

Wraps self and returns a MakeWriter that will only write output for events at or above the provided verbosity Level. Read more

Wraps self with a predicate that takes a span or event’s Metadata and returns a bool. The returned MakeWriter’s MakeWriter::make_writer_for method will check the predicate to determine if a writer should be produced for a given span or event. Read more

Combines self with another type implementing MakeWriter, returning a new MakeWriter that produces [writers] that write to both outputs. Read more

Combines self with another type implementing MakeWriter, returning a new MakeWriter that calls other’s [make_writer] if self’s make_writer returns OptionalWriter::none. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more