Package io.opentelemetry.sdk.logs.export
Class BatchLogRecordProcessor
java.lang.Object
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor
- All Implemented Interfaces:
LogRecordProcessor,Closeable,AutoCloseable
Implementation of the
LogRecordProcessor that batches logs exported by the SDK then
pushes them to the exporter pipeline.
All logs reported by the SDK implementation are first added to a synchronized queue (with a
maxQueueSize maximum size, if queue is full logs are dropped). Logs are exported either
when there are maxExportBatchSize pending logs or scheduleDelayNanos has passed
since the last export finished.
- Since:
- 1.27.0
-
Method Summary
Modifier and TypeMethodDescriptionbuilder(LogRecordExporter logRecordExporter) Returns a new Builder forBatchLogRecordProcessor.io.opentelemetry.sdk.common.CompletableResultCodeProcess all log records that have not yet been processed.Return the processor's configuredLogRecordExporter.voidonEmit(io.opentelemetry.context.Context context, ReadWriteLogRecord logRecord) Called when aLoggerLogRecordBuilder.emit()s a log record.io.opentelemetry.sdk.common.CompletableResultCodeshutdown()Shutdown the log processor.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.opentelemetry.sdk.logs.LogRecordProcessor
close
-
Method Details
-
builder
Returns a new Builder forBatchLogRecordProcessor.- Parameters:
logRecordExporter- theLogRecordExporterto which the Logs are pushed- Returns:
- a new
BatchLogRecordProcessor. - Throws:
NullPointerException- if thelogRecordExporterisnull.
-
onEmit
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 io.opentelemetry.sdk.common.CompletableResultCode shutdown()Description copied from interface:LogRecordProcessorShutdown the log processor.- Specified by:
shutdownin interfaceLogRecordProcessor- Returns:
- result
-
forceFlush
public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()Description copied from interface:LogRecordProcessorProcess all log records that have not yet been processed.- Specified by:
forceFlushin interfaceLogRecordProcessor- Returns:
- result
-
getLogRecordExporter
Return the processor's configuredLogRecordExporter.- Since:
- 1.37.0
-
toString
-