# 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)
To use it, add the following modules to your application's classpath.
Replace `OPENTELEMETRY_VERSION` with the latest
stable [release](https://search.maven.org/search?q=g:io.opentelemetry.instrumentation).
**Maven**
```xml
io.opentelemetry.instrumentation
opentelemetry-logback-appender-1.0
OPENTELEMETRY_VERSION
runtime
io.opentelemetry.instrumentation
opentelemetry-instrumentation-sdk-appender
OPENTELEMETRY_VERSION
```
**Gradle**
```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")
}
```
The following demonstrates how you might configure the appender in your `logback.xml` configuration:
```xml
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
```
Next, associate the `OpenTelemetry` configured via `logback.xml` with a `SdkLogEmitterProvider` in
your application:
```
SdkLogEmitterProvider logEmitterProvider =
SdkLogEmitterProvider.builder()
.setResource(Resource.create(...))
.addLogProcessor(...)
.build();
GlobalLogEmitterProvider.set(DelegatingLogEmitterProvider.from(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`.