Package io.opentelemetry.sdk.logs
Class MultiLogRecordProcessor
- java.lang.Object
-
- io.opentelemetry.sdk.logs.MultiLogRecordProcessor
-
- All Implemented Interfaces:
LogRecordProcessor
,java.io.Closeable
,java.lang.AutoCloseable
final class MultiLogRecordProcessor extends java.lang.Object implements LogRecordProcessor
Implementation ofLogRecordProcessor
that forwards all logs to a list ofLogRecordProcessor
s.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBoolean
isShutdown
private java.util.List<LogRecordProcessor>
logRecordProcessors
-
Constructor Summary
Constructors Modifier Constructor Description private
MultiLogRecordProcessor(java.util.List<LogRecordProcessor> logRecordProcessorsList)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static LogRecordProcessor
create(java.util.List<LogRecordProcessor> logRecordProcessorsList)
Create a newMultiLogRecordProcessor
.CompletableResultCode
forceFlush()
Process all log records that have not yet been processed.void
onEmit(Context context, ReadWriteLogRecord logRecord)
Called when aLogger
LogRecordBuilder.emit()
s a log record.CompletableResultCode
shutdown()
Shutdown the log processor.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.opentelemetry.sdk.logs.LogRecordProcessor
close
-
-
-
-
Field Detail
-
logRecordProcessors
private final java.util.List<LogRecordProcessor> logRecordProcessors
-
isShutdown
private final java.util.concurrent.atomic.AtomicBoolean isShutdown
-
-
Constructor Detail
-
MultiLogRecordProcessor
private MultiLogRecordProcessor(java.util.List<LogRecordProcessor> logRecordProcessorsList)
-
-
Method Detail
-
create
static LogRecordProcessor create(java.util.List<LogRecordProcessor> logRecordProcessorsList)
Create a newMultiLogRecordProcessor
.- Parameters:
logRecordProcessorsList
- list of log processors to forward logs to- Returns:
- a multi log processor instance
-
onEmit
public void onEmit(Context context, ReadWriteLogRecord logRecord)
Description copied from interface:LogRecordProcessor
Called when aLogger
LogRecordBuilder.emit()
s a log record.- Specified by:
onEmit
in interfaceLogRecordProcessor
- Parameters:
context
- the context set viaLogRecordBuilder.setContext(Context)
, orContext.current()
if not explicitly setlogRecord
- the log record
-
shutdown
public CompletableResultCode shutdown()
Description copied from interface:LogRecordProcessor
Shutdown the log processor.- Specified by:
shutdown
in interfaceLogRecordProcessor
- Returns:
- result
-
forceFlush
public CompletableResultCode forceFlush()
Description copied from interface:LogRecordProcessor
Process all log records that have not yet been processed.- Specified by:
forceFlush
in interfaceLogRecordProcessor
- Returns:
- result
-
-