Trait LogProcessor
pub trait LogProcessor:
Send
+ Sync
+ Debug {
// Required methods
fn emit(
&self,
data: &mut SdkLogRecord,
instrumentation: &InstrumentationScope,
);
fn force_flush(&self) -> Result<(), OTelSdkError>;
// Provided methods
fn shutdown_with_timeout(
&self,
_timeout: Duration,
) -> Result<(), OTelSdkError> { ... }
fn shutdown(&self) -> Result<(), OTelSdkError> { ... }
fn set_resource(&mut self, _resource: &Resource) { ... }
}
Expand description
The interface for plugging into a SdkLogger
.
Required Methods§
fn emit(&self, data: &mut SdkLogRecord, instrumentation: &InstrumentationScope)
fn emit(&self, data: &mut SdkLogRecord, instrumentation: &InstrumentationScope)
Called when a log record is ready to processed and exported.
This method receives a mutable reference to LogRecord
. If the processor
needs to handle the export asynchronously, it should clone the data to
ensure it can be safely processed without lifetime issues. Any changes
made to the log data in this method will be reflected in the next log
processor in the chain.
§Parameters
record
: A mutable reference toLogRecord
representing the log record.instrumentation
: The instrumentation scope associated with the log record.
fn force_flush(&self) -> Result<(), OTelSdkError>
fn force_flush(&self) -> Result<(), OTelSdkError>
Force the logs lying in the cache to be exported.
Provided Methods§
fn shutdown_with_timeout(&self, _timeout: Duration) -> Result<(), OTelSdkError>
fn shutdown_with_timeout(&self, _timeout: Duration) -> Result<(), OTelSdkError>
Shuts down the processor. After shutdown returns the log processor should stop processing any logs. It’s up to the implementation on when to drop the LogProcessor.
fn shutdown(&self) -> Result<(), OTelSdkError>
fn shutdown(&self) -> Result<(), OTelSdkError>
Shuts down the processor with default timeout.
fn set_resource(&mut self, _resource: &Resource)
fn set_resource(&mut self, _resource: &Resource)
Set the resource for the log processor.