# 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`.