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 ofLogRecordProcessorthat forwards all logs to a list ofLogRecordProcessors.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBooleanisShutdownprivate java.util.List<LogRecordProcessor>logRecordProcessors
-
Constructor Summary
Constructors Modifier Constructor Description privateMultiLogRecordProcessor(java.util.List<LogRecordProcessor> logRecordProcessorsList)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static LogRecordProcessorcreate(java.util.List<LogRecordProcessor> logRecordProcessorsList)Create a newMultiLogRecordProcessor.CompletableResultCodeforceFlush()Process all log records that have not yet been processed.voidonEmit(Context context, ReadWriteLogRecord logRecord)Called when aLoggerLogRecordBuilder.emit()s a log record.CompletableResultCodeshutdown()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:LogRecordProcessorCalled when aLoggerLogRecordBuilder.emit()s a log record.- Specified by:
onEmitin 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:LogRecordProcessorShutdown the log processor.- Specified by:
shutdownin interfaceLogRecordProcessor- Returns:
- result
-
forceFlush
public CompletableResultCode forceFlush()
Description copied from interface:LogRecordProcessorProcess all log records that have not yet been processed.- Specified by:
forceFlushin interfaceLogRecordProcessor- Returns:
- result
-
-