pub struct OpentelemetryLogBuilder { /* private fields */ }
Expand description
A builder to configure and create an OpentelemetryLog
appender.
Implementations§
Source§impl OpentelemetryLogBuilder
impl OpentelemetryLogBuilder
Sourcepub fn new(
name: impl Into<String>,
log_exporter: impl Into<LogExporter>,
) -> Self
pub fn new( name: impl Into<String>, log_exporter: impl Into<LogExporter>, ) -> Self
Creates a new OpentelemetryLogBuilder
.
§Examples
use logforth_append_opentelemetry::OpentelemetryLogBuilder;
use opentelemetry_otlp::LogExporter;
use opentelemetry_otlp::WithExportConfig;
let log_exporter = LogExporter::builder()
.with_http()
.with_endpoint("http://localhost:4317")
.build()
.unwrap();
let builder = OpentelemetryLogBuilder::new("my_service", log_exporter);
Sourcepub fn label(
self,
key: impl Into<Cow<'static, str>>,
value: impl Into<Cow<'static, str>>,
) -> Self
pub fn label( self, key: impl Into<Cow<'static, str>>, value: impl Into<Cow<'static, str>>, ) -> Self
Adds a label to the logs.
§Examples
use logforth_append_opentelemetry::OpentelemetryLogBuilder;
use opentelemetry_otlp::LogExporter;
use opentelemetry_otlp::WithExportConfig;
let log_exporter = LogExporter::builder()
.with_http()
.with_endpoint("http://localhost:4317")
.build()
.unwrap();
let builder = OpentelemetryLogBuilder::new("my_service", log_exporter);
builder.label("env", "production");
Sourcepub fn labels<K, V>(self, labels: impl IntoIterator<Item = (K, V)>) -> Self
pub fn labels<K, V>(self, labels: impl IntoIterator<Item = (K, V)>) -> Self
Adds multiple labels to the logs.
§Examples
use logforth_append_opentelemetry::OpentelemetryLogBuilder;
use opentelemetry_otlp::LogExporter;
use opentelemetry_otlp::WithExportConfig;
let log_exporter = LogExporter::builder()
.with_http()
.with_endpoint("http://localhost:4317")
.build()
.unwrap();
let builder = OpentelemetryLogBuilder::new("my_service", log_exporter);
builder.labels(vec![("env", "production"), ("version", "1.0")]);
Sourcepub fn make_body(self, make_body: impl Into<Box<dyn MakeBody>>) -> Self
pub fn make_body(self, make_body: impl Into<Box<dyn MakeBody>>) -> Self
Set the layout for the logs.
§Examples
use logforth_append_opentelemetry::MakeBodyLayout;
use logforth_append_opentelemetry::OpentelemetryLogBuilder;
use logforth_layout_json::JsonLayout;
use opentelemetry_otlp::LogExporter;
use opentelemetry_otlp::WithExportConfig;
let log_exporter = LogExporter::builder()
.with_http()
.with_endpoint("http://localhost:4317")
.build()
.unwrap();
let builder = OpentelemetryLogBuilder::new("my_service", log_exporter);
builder.make_body(MakeBodyLayout::new(JsonLayout::default()));
Sourcepub fn build(self) -> OpentelemetryLog
pub fn build(self) -> OpentelemetryLog
Builds the OpentelemetryLog
appender.
§Examples
use logforth_append_opentelemetry::OpentelemetryLogBuilder;
use opentelemetry_otlp::LogExporter;
use opentelemetry_otlp::WithExportConfig;
let log_exporter = LogExporter::builder()
.with_http()
.with_endpoint("http://localhost:4317")
.build()
.unwrap();
let builder = OpentelemetryLogBuilder::new("my_service", log_exporter);
let otlp_appender = builder.build();
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for OpentelemetryLogBuilder
impl !RefUnwindSafe for OpentelemetryLogBuilder
impl Send for OpentelemetryLogBuilder
impl Sync for OpentelemetryLogBuilder
impl Unpin for OpentelemetryLogBuilder
impl !UnwindSafe for OpentelemetryLogBuilder
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