OpenTelemetryBuilder

Struct OpenTelemetryBuilder 

Source
pub struct OpenTelemetryBuilder<ArgL> { /* private fields */ }
Expand description

§

§Note

The generics here are designed to check for required fields at compile time, users should not specify them manually and/or depend on them. If the generic concrete types or the number of generic types are changed in the future, it may not be considered as a breaking change.

Implementations§

Source§

impl<ArgL> OpenTelemetryBuilder<ArgL>

Source

pub fn provider<P>(self, provider: &P) -> OpenTelemetryBuilder<P::Logger>

Specifies a provider.

The provided provider will be used to create a opentelemetry::logs::Logger for subsequent use.

This parameter is required.

Examples found in repository?
examples/usage.rs (line 43)
40fn setup_logger(
41    provider: &opentelemetry_sdk::logs::SdkLoggerProvider,
42) -> Result<(), Box<dyn StdError>> {
43    let sink = Arc::new(OpenTelemetrySink::builder().provider(provider).build()?);
44
45    let logger = spdlog::default_logger().fork_with(|logger| {
46        logger.set_level_filter(LevelFilter::All);
47        logger.sinks_mut().push(sink);
48        // Now the new logger has 3 sinks: stdout + stderr + OpenTelemetry
49        //                                 ^^^^^^^^^^^^^^^
50        //                                 forked from the default logger
51        Ok(())
52    })?;
53    spdlog::set_default_logger(logger);
54    Ok(())
55}
Source

pub fn level_filter(self, level_filter: LevelFilter) -> Self

Specifies a log level filter.

This parameter is optional, and defaults to LevelFilter::All.

Source

pub fn formatter<F>(self, formatter: F) -> Self
where F: Formatter + 'static,

Specifies a formatter.

This parameter is optional, and defaults to FullFormatter (!time !level !source_location !eol).

Source

pub fn error_handler<F>(self, handler: F) -> Self
where F: Into<ErrorHandler>,

Specifies an error handler.

This parameter is optional, and defaults to ErrorHandler::default().

Source§

impl<ArgL> OpenTelemetryBuilder<ArgL>
where ArgL: OtelLogger,

Source

pub fn build(self) -> Result<OpenTelemetrySink<ArgL>>

Builds a OpenTelemetrySink.

Examples found in repository?
examples/usage.rs (line 43)
40fn setup_logger(
41    provider: &opentelemetry_sdk::logs::SdkLoggerProvider,
42) -> Result<(), Box<dyn StdError>> {
43    let sink = Arc::new(OpenTelemetrySink::builder().provider(provider).build()?);
44
45    let logger = spdlog::default_logger().fork_with(|logger| {
46        logger.set_level_filter(LevelFilter::All);
47        logger.sinks_mut().push(sink);
48        // Now the new logger has 3 sinks: stdout + stderr + OpenTelemetry
49        //                                 ^^^^^^^^^^^^^^^
50        //                                 forked from the default logger
51        Ok(())
52    })?;
53    spdlog::set_default_logger(logger);
54    Ok(())
55}
Source

pub fn build_arc(self) -> Result<Arc<OpenTelemetrySink<ArgL>>>

Builds a Arc<OpenTelemetrySink>.

Auto Trait Implementations§

§

impl<ArgL> !Freeze for OpenTelemetryBuilder<ArgL>

§

impl<ArgL> !RefUnwindSafe for OpenTelemetryBuilder<ArgL>

§

impl<ArgL> Send for OpenTelemetryBuilder<ArgL>
where ArgL: Send,

§

impl<ArgL> Sync for OpenTelemetryBuilder<ArgL>
where ArgL: Sync,

§

impl<ArgL> Unpin for OpenTelemetryBuilder<ArgL>
where ArgL: Unpin,

§

impl<ArgL> !UnwindSafe for OpenTelemetryBuilder<ArgL>

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> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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, 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