Class MultiLogRecordProcessor
Defined in File multi_log_record_processor.h
Inheritance Relationships
Base Type
public opentelemetry::sdk::logs::LogRecordProcessor
(Class LogRecordProcessor)
Class Documentation
-
class MultiLogRecordProcessor : public opentelemetry::sdk::logs::LogRecordProcessor
Log processor allow hooks for receive method invocations.
Built-in log processors are responsible for batching and conversion of logs to exportable representation and passing batches to exporters.
Public Functions
-
MultiLogRecordProcessor(std::vector<std::unique_ptr<LogRecordProcessor>> &&processors)
-
~MultiLogRecordProcessor() override
-
void AddProcessor(std::unique_ptr<LogRecordProcessor> &&processor)
-
virtual std::unique_ptr<Recordable> MakeRecordable() noexcept override
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 override
OnEmit is called by the SDK once a log record has been successfully created.
- Parameters:
record – the log record
-
virtual bool ForceFlush(std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override
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 override
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
-
MultiLogRecordProcessor(std::vector<std::unique_ptr<LogRecordProcessor>> &&processors)