# Log4j2 Appender This module provides a Log4j2 [appender](https://logging.apache.org/log4j/2.x/manual/appenders.html) which forwards Log4j2 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-log4j-appender-2.16 OPENTELEMETRY_VERSION ``` **Gradle** ```kotlin dependencies { runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-log4j-appender-2.16:OPENTELEMETRY_VERSION") } ``` The following demonstrates how you might configure the appender in your `log4j.xml` configuration: ```xml ``` Next, associate the `OpenTelemetryAppender` configured via `log4j2.xml` with an `SdkLogEmitterProvider` in your application: ``` SdkLogEmitterProvider logEmitterProvider = SdkLogEmitterProvider.builder() .setResource(Resource.create(...)) .addLogProcessor(...) .build(); OpenTelemetryAppender.setSdkLogEmitterProvider(logEmitterProvider); ``` In this example Log4j2 log events will be sent to both the console appender and 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`.