pub struct BunyanFormattingLayer<W: for<'a> MakeWriter<'a> + 'static> { /* private fields */ }
Expand description

This layer is exclusively concerned with formatting information using the Bunyan format. It relies on the upstream JsonStorageLayer to get access to the fields attached to each span.

Implementations§

Create a new BunyanFormattingLayer.

You have to specify:

  • a name, which will be attached to all formatted records according to the Bunyan format;
  • a make_writer, which will be used to get a Write instance to write formatted records to.
Using stdout
use tracing_bunyan_formatter::BunyanFormattingLayer;

let formatting_layer = BunyanFormattingLayer::new("tracing_example".into(), std::io::stdout);

If you prefer, you can use closure syntax:

use tracing_bunyan_formatter::BunyanFormattingLayer;

let formatting_layer = BunyanFormattingLayer::new("tracing_example".into(), || std::io::stdout());

Add default fields to all formatted records.

use std::collections::HashMap;
use serde_json::json;
use tracing_bunyan_formatter::BunyanFormattingLayer;

let mut default_fields = HashMap::new();
default_fields.insert("custom_field".to_string(), json!("custom_value"));
let formatting_layer = BunyanFormattingLayer::with_default_fields(
    "test".into(),
    std::io::stdout,
    default_fields,
);

Add fields to skip when formatting with this layer.

It returns an error if you try to skip a required core Bunyan field (e.g. name). You can skip optional core Bunyan fields (e.g. line, file, target).

use tracing_bunyan_formatter::BunyanFormattingLayer;

let skipped_fields = vec!["skipped"];
let formatting_layer = BunyanFormattingLayer::new("test".into(), std::io::stdout)
    .skip_fields(skipped_fields.into_iter())
    .expect("One of the specified fields cannot be skipped");

Trait Implementations§

Notifies this layer that an event has occurred.
Notifies this layer that a new span was constructed with the given Attributes and Id.
Notifies this layer that the span with the given ID has been closed.
Performs late initialization when installing this layer as a Subscriber. Read more
Performs late initialization when attaching a Layer to a Subscriber. Read more
Registers a new callsite with this layer, returning whether or not the layer is interested in being notified about the callsite, similarly to Subscriber::register_callsite. Read more
Returns true if this layer is interested in a span or event with the given metadata in the current Context, similarly to Subscriber::enabled. Read more
Notifies this layer that a span with the given Id recorded the given values.
Notifies this layer that a span with the ID span recorded that it follows from the span with the ID follows.
Called before on_event, to determine if on_event should be called.
Notifies this layer that a span with the given ID was entered.
Notifies this layer that the span with the given ID was exited.
Notifies this layer that a span ID has been cloned, and that the subscriber returned a different ID.
Composes this layer around the given Layer, returning a Layered struct implementing Layer. Read more
Composes this Layer with the given Subscriber, returning a Layered struct that implements Subscriber. Read more
Combines self with a Filter, returning a Filtered layer. 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

Calls U::from(self).

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

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