Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

OpenTelemetry with Log4j2

This sample app demonstrates an application emitting logs through a variety of logging APIs (OpenTelemetry API, log4j1, log4j2, JUL, slf4j) and configuring those logs to be sent an OTLP receiver via the OpenTelemetry SDK, and to the console via log4j2.

  • Install and run a OTLP receiver listening at localhost:4318. otel-tui is a good choice for local development.

  • Run the application:

../gradlew run

> Task :opentelemetry-examples-log-appender-log4j2:run
log4j2: 08:49:54.249 [main] INFO  log4j2-logger - A log4j2 log message.
log4j2: 08:49:54.263 [main] INFO  log4j1-logger - A log4j1 log message.
log4j2: 08:49:54.263 [main] INFO  slf4j-logger - A slf4j log message.
log4j2: 08:49:54.263 [main] INFO  jul-logger - A JUL log message.
log4j2: 08:49:54.265 [main] INFO  otel-logger - An OTEL log message.
  • Or run the application with the javaagent:
../gradlew run -PrunWithAgent

> Task :opentelemetry-examples-log-appender-log4j2:run
[otel.javaagent 2025-12-08 08:54:48:330 -0600] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 2.23.0-SNAPSHOT
log4j2: 08:54:55.599 [main] INFO  log4j2-logger - A log4j2 log message.
log4j2: 08:54:55.625 [main] INFO  log4j1-logger - A log4j1 log message.
log4j2: 08:54:55.626 [main] INFO  slf4j-logger - A slf4j log message.
log4j2: 08:54:55.626 [main] INFO  jul-logger - A JUL log message.
log4j2: 08:54:55.629 [main] INFO  otel-logger - An OTEL log message.
  • A log message from each logging API appears exactly once in the console and OTLP receiver