pub struct BetterStackLayer { /* private fields */ }
Expand description
A tracing layer that sends log events to Better Stack.
BetterStackLayer
implements the tracing_subscriber::Layer
trait and can be
used with any tracing subscriber to automatically send structured log events
to Better Stack’s log management platform.
The layer batches events for efficient transmission and handles retries automatically based on the provided configuration.
§Example
use tracing_subscriber::prelude::*;
use tracing_better_stack::{BetterStackLayer, BetterStackConfig};
let layer = BetterStackLayer::new(
BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "source_token")
.batch_size(100)
.build()
);
tracing_subscriber::registry()
.with(layer)
.init();
Implementations§
Source§impl BetterStackLayer
impl BetterStackLayer
Sourcepub fn new(config: BetterStackConfig) -> Self
pub fn new(config: BetterStackConfig) -> Self
Creates a new Better Stack layer with the specified configuration.
The layer will lazily initialize its background processor on the first log event when a Tokio runtime is available.
§Arguments
config
- Better Stack configuration specifying endpoint, credentials, and batching behavior
§Example
use tracing_better_stack::{BetterStackLayer, BetterStackConfig};
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
.batch_size(200)
.build();
let layer = BetterStackLayer::new(config);
Sourcepub fn builder(
ingesting_host: impl Into<String>,
source_token: impl Into<String>,
) -> BetterStackConfigBuilder
pub fn builder( ingesting_host: impl Into<String>, source_token: impl Into<String>, ) -> BetterStackConfigBuilder
Creates a configuration builder for Better Stack.
This is a convenience method that creates a BetterStackConfigBuilder
for configuring the layer with a fluent API.
§Arguments
ingesting_host
- The Better Stack ingesting host for your sourcesource_token
- Your Better Stack source token for authentication
§Example
use tracing_subscriber::prelude::*;
use tracing_better_stack::BetterStackLayer;
use std::time::Duration;
let config = BetterStackLayer::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
.batch_size(200)
.batch_timeout(Duration::from_secs(10))
.include_spans(false)
.build();
let layer = BetterStackLayer::new(config);
tracing_subscriber::registry()
.with(layer)
.init();
Trait Implementations§
Source§impl<S> Layer<S> for BetterStackLayerwhere
S: Subscriber + for<'a> LookupSpan<'a>,
impl<S> Layer<S> for BetterStackLayerwhere
S: Subscriber + for<'a> LookupSpan<'a>,
Source§fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
Notifies this layer that an event has occurred.
Source§fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
Notifies this layer that a new span was constructed with the given
Attributes
and Id
.Source§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Performs late initialization when installing this layer as a
Subscriber
. Read moreSource§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
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 moreSource§fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
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 moreSource§fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
Notifies this layer that a span with the given
Id
recorded the given
values
.Source§fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span with the ID
span
recorded that it
follows from the span with the ID follows
.Source§fn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span with the given ID was entered.
Source§fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
Notifies this layer that the span with the given ID was exited.
Source§fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
Notifies this layer that the span with the given ID has been closed.
Source§fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span ID has been cloned, and that the
subscriber returned a different ID.
Source§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
Composes this layer around the given
Layer
, returning a Layered
struct implementing Layer
. Read moreSource§fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
Composes this
Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read moreSource§fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
Auto Trait Implementations§
impl Freeze for BetterStackLayer
impl RefUnwindSafe for BetterStackLayer
impl Send for BetterStackLayer
impl Sync for BetterStackLayer
impl Unpin for BetterStackLayer
impl UnwindSafe for BetterStackLayer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more