Class LogRecordProcessor
Defined in File processor.h
Inheritance Relationships
Derived Types
public opentelemetry::sdk::logs::BatchLogRecordProcessor
(Class BatchLogRecordProcessor)public opentelemetry::sdk::logs::MultiLogRecordProcessor
(Class MultiLogRecordProcessor)public opentelemetry::sdk::logs::SimpleLogRecordProcessor
(Class SimpleLogRecordProcessor)
Class Documentation
-
class LogRecordProcessor
The Log Processor is responsible for passing log records to the configured exporter.
Subclassed by opentelemetry::sdk::logs::BatchLogRecordProcessor, opentelemetry::sdk::logs::MultiLogRecordProcessor, opentelemetry::sdk::logs::SimpleLogRecordProcessor
Public Functions
-
virtual ~LogRecordProcessor() = default
-
virtual std::unique_ptr<Recordable> MakeRecordable() noexcept = 0
Create a log recordable. This requests a new log recordable from the associated exporter.
Note: This method must be callable from multiple threads.
- Returns:
a newly initialized recordable
-
virtual void OnEmit(std::unique_ptr<Recordable> &&record) noexcept = 0
OnEmit is called by the SDK once a log record has been successfully created.
- Parameters:
record – the log recordable object
-
virtual bool ForceFlush(std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept = 0
Exports all log records that have not yet been exported to the configured Exporter.
- Parameters:
timeout – that the forceflush is required to finish within.
- Returns:
a result code indicating whether it succeeded, failed or timed out
-
virtual bool Shutdown(std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept = 0
Shuts down the processor and does any cleanup required. ShutDown should only be called once for each processor.
- Parameters:
timeout – minimum amount of microseconds to wait for shutdown before giving up and returning failure.
- Returns:
true if the shutdown succeeded, false otherwise
-
virtual ~LogRecordProcessor() = default