Anna
Anna

Reputation: 21

Logging in a Spring Boot app with OpenTelemetry

Using Spring Boot 3.4.2, I want to configure logs export in opentelemetry format with Spring Actuator configuration. Example properties:

management.otlp.logging.export.enabled=true
management.otlp.logging.endpoint=http://localhost:4318/v1/logs
management.otlp.logging.headers.apikey=apikey
management.otlp.logging.transport=http
management.otlp.logging.compression=gzip

Tried adding maven dependencies:

<dependency>    
    <groupId>io.opentelemetry.instrumentation</groupId>   
    <artifactId>opentelemetry-spring-boot-starter</artifactId>
    <version>2.12.0</version>
</dependency>

<dependency>    
    <groupId>io.opentelemetry</groupId>    
    <artifactId>opentelemetry-exporter-otlp</artifactId> 
    <version>${opentelemetry.version}</version>
</dependency>

<dependency>    
    <groupId>io.opentelemetry.instrumentation</groupId>   
    <artifactId>opentelemetry-logback-appender-1.0</artifactId>    
    <version>1.28.0-alpha</version>
</dependency>

logback.xml example:

<configuration scan="true" scanPeriod="30 seconds">

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC} [%thread] %-5level %logger{36} - %msg %replace(%replace(%ex){'[\r\n]+', ''}){'[\t]+', '&#10;&#9;'}%nopex%n</pattern>
        </encoder>
    </appender>

    <appender name="otel" class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
        <captureExperimentalAttributes>true</captureExperimentalAttributes>
        <captureKeyValuePairAttributes>true</captureKeyValuePairAttributes>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="otel" />
    </root>
</configuration>

But noting worked or configuration is not set into OtlpHttpLogRecordExporter. What else needs to be configured or what I'm doing wrong?

Upvotes: 2

Views: 85

Answers (0)

Related Questions