|
@@ -1,8 +1,8 @@
|
|
|
# Logback Appender
|
|
|
|
|
|
This module provides a Logback [appender](https://logback.qos.ch/manual/appenders.html) which
|
|
|
-forwards Logback log events to
|
|
|
-the [OpenTelemetry Log SDK](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk/logs)
|
|
|
+forwards Logback log events to the
|
|
|
+[OpenTelemetry Log SDK](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk/logs).
|
|
|
|
|
|
To use it, add the following modules to your application's classpath.
|
|
|
|
|
@@ -17,13 +17,6 @@ stable [release](https://search.maven.org/search?q=g:io.opentelemetry.instrument
|
|
|
<groupId>io.opentelemetry.instrumentation</groupId>
|
|
|
<artifactId>opentelemetry-logback-appender-1.0</artifactId>
|
|
|
<version>OPENTELEMETRY_VERSION</version>
|
|
|
- <scope>runtime</scope>
|
|
|
- </dependency>
|
|
|
- <dependency>
|
|
|
- <!-- The SDK appender is required to configure the appender with the OpenTelemetry Log SDK -->
|
|
|
- <groupId>io.opentelemetry.instrumentation</groupId>
|
|
|
- <artifactId>opentelemetry-instrumentation-sdk-appender</artifactId>
|
|
|
- <version>OPENTELEMETRY_VERSION</version>
|
|
|
</dependency>
|
|
|
</dependencies>
|
|
|
```
|
|
@@ -33,8 +26,6 @@ stable [release](https://search.maven.org/search?q=g:io.opentelemetry.instrument
|
|
|
```kotlin
|
|
|
dependencies {
|
|
|
runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0:OPENTELEMETRY_VERSION")
|
|
|
- // The SDK appender is required to configure the appender with the OpenTelemetry Log SDK
|
|
|
- implementation("io.opentelemetry.instrumentation:opentelemetry-instrumentation-sdk-appender:OPENTELEMETRY_VERSION")
|
|
|
}
|
|
|
```
|
|
|
|
|
@@ -51,19 +42,20 @@ The following demonstrates how you might configure the appender in your `logback
|
|
|
</pattern>
|
|
|
</encoder>
|
|
|
</appender>
|
|
|
- <appender name="OpenTelemetry" class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
|
|
|
+ <appender name="OpenTelemetry"
|
|
|
+ class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
|
|
|
</appender>
|
|
|
|
|
|
<root level="INFO">
|
|
|
<appender-ref ref="console"/>
|
|
|
- <appender-ref ref="OpenTelemetry" />
|
|
|
+ <appender-ref ref="OpenTelemetry"/>
|
|
|
</root>
|
|
|
|
|
|
</configuration>
|
|
|
```
|
|
|
|
|
|
-Next, associate the `OpenTelemetry` configured via `logback.xml` with a `SdkLogEmitterProvider` in
|
|
|
-your application:
|
|
|
+Next, associate the `OpenTelemetryAppender` configured via `logback.xml` with
|
|
|
+an `SdkLogEmitterProvider` in your application:
|
|
|
|
|
|
```
|
|
|
SdkLogEmitterProvider logEmitterProvider =
|
|
@@ -71,10 +63,10 @@ SdkLogEmitterProvider logEmitterProvider =
|
|
|
.setResource(Resource.create(...))
|
|
|
.addLogProcessor(...)
|
|
|
.build();
|
|
|
-GlobalLogEmitterProvider.set(DelegatingLogEmitterProvider.from(logEmitterProvider));
|
|
|
+OpenTelemetryAppender.setSdkLogEmitterProvider(logEmitterProvider);
|
|
|
```
|
|
|
|
|
|
In this example Logback log events will be sent to both the console appender and
|
|
|
-the `OpenTelemetryAppender`, which will drop the logs until `GlobalLogEmitterProvider.set(..)` is
|
|
|
-called. Once initialized, logs will be emitted to a `LogEmitter` obtained from
|
|
|
-the `SdkLogEmitterProvider`.
|
|
|
+the `OpenTelemetryAppender`, which will drop the logs until
|
|
|
+`OpenTelemetryAppender.setSdkLogEmitterProvider(..)` is called. Once initialized, logs will be
|
|
|
+emitted to a `LogEmitter` obtained from the `SdkLogEmitterProvider`.
|