Package io.opentelemetry.api.logs
Interface Logger
@ThreadSafe
public interface Logger
A
Logger is the entry point into a log pipeline.
Obtain a EventBuilder or logRecordBuilder(), add properties using the
setters, and emit it via LogRecordBuilder.emit().
Example usage emitting events:
class MyClass {
private final Logger eventLogger = openTelemetryLoggerProvider.loggerBuilder("instrumentation-library-name")
.setInstrumentationVersion("1.0.0")
.setEventDomain("acme.observability")
.build();
void doWork() {
eventLogger.eventBuilder("my-event")
.setAllAttributes(Attributes.builder()
.put("key1", "value1")
.put("key2", "value2")
.build())
.emit();
// do work
}
}
-
Method Summary
Modifier and TypeMethodDescriptioneventBuilder(String eventName) Return aEventBuilderto emit an event.Return aLogRecordBuilderto emit a log record.
-
Method Details
-
eventBuilder
Return aEventBuilderto emit an event.NOTE: this API MUST only be called on
Loggers which have been assigned anevent domain.Build the event using the
EventBuildersetters, and emit viaLogRecordBuilder.emit().- Parameters:
eventName- the event name, which acts as a classifier for events. Within a particular event domain, event name defines a particular class or type of event.
-
logRecordBuilder
LogRecordBuilder logRecordBuilder()Return aLogRecordBuilderto emit a log record.IMPORTANT: this should be used to write appenders to bridge logs from logging frameworks (e.g. SLF4J, Log4j, JUL, Logback, etc). It is NOT a replacement for an application logging framework, and should not be used by application developers.
Build the log record using the
LogRecordBuildersetters, and emit viaLogRecordBuilder.emit().
-