Struct BetterStackConfigBuilder

Source
pub struct BetterStackConfigBuilder { /* private fields */ }
Expand description

Builder for creating a BetterStackConfig with a fluent API.

This builder is created via BetterStackConfig::builder and provides methods to customize the configuration before building the final config.

§Example

use std::time::Duration;
use tracing_better_stack::BetterStackConfig;

let config = BetterStackConfig::builder(
    "s1234567.us-east-9.betterstackdata.com",
    "source_token"
)
.batch_size(200)
.batch_timeout(Duration::from_secs(10))
.max_retries(5)
.include_location(false)
.build();

Implementations§

Source§

impl BetterStackConfigBuilder

Source

pub fn new( ingesting_host: impl Into<String>, source_token: impl Into<String>, ) -> Self

Creates a new builder with the required ingesting host and source token.

This method is typically not called directly. Use BetterStackConfig::builder instead.

§Arguments
  • ingesting_host - The Better Stack ingesting host for your source
  • source_token - Your Better Stack source token for authentication
Source

pub fn batch_size(self, size: usize) -> Self

Sets the maximum number of events to batch before sending.

Once this limit is reached, the batch will be sent immediately.

Default: 100

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .batch_size(200)
    .build();
Source

pub fn batch_timeout(self, timeout: Duration) -> Self

Sets the maximum time to wait before sending a batch.

If this duration elapses and there are any events in the batch, they will be sent even if the batch size hasn’t been reached.

Default: 5 seconds

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .batch_timeout(Duration::from_secs(10))
    .build();
Source

pub fn max_retries(self, retries: usize) -> Self

Sets the maximum number of retry attempts for failed requests.

When a request fails, the layer will retry with exponential backoff.

Default: 3

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .max_retries(5)
    .build();
Source

pub fn initial_retry_delay(self, delay: Duration) -> Self

Sets the initial delay before the first retry attempt.

This delay will be doubled for each subsequent retry.

Default: 100ms

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .initial_retry_delay(Duration::from_millis(200))
    .build();
Source

pub fn max_retry_delay(self, delay: Duration) -> Self

Sets the maximum delay between retry attempts.

The retry delay won’t exceed this value, even with exponential backoff.

Default: 10 seconds

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .max_retry_delay(Duration::from_secs(30))
    .build();
Source

pub fn include_location(self, include: bool) -> Self

Sets whether to include file and line location in log events.

When enabled, adds a location field to each log event.

Default: true

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .include_location(false)
    .build();
Source

pub fn include_spans(self, include: bool) -> Self

Sets whether to include span context in log events.

When enabled, adds a spans field to each log event with active span information.

Default: true

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .include_spans(false)
    .build();
Source

pub fn build(self) -> BetterStackConfig

Builds the final BetterStackConfig with all the configured options.

§Example
let config = BetterStackConfig::builder("s1234567.us-east-9.betterstackdata.com", "your-source-token")
    .batch_size(200)
    .build(); // Returns the final BetterStackConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,