OpenTelemetryLoggingAutoConfiguration and SdkLoggerProviderBuilderCustomizer are in org.springframework.boot.actuate.autoconfigure.logging. I think they should be in an OpenTelemetry-specific package as none of other code in org.springframework.boot.actuate.autoconfigure.logging has any third-party dependencies.

If it were just the auto-configuration class, we could make this change fairly easily in 3.5 however there's the customizer to consider too.

Comment From: philwebb

We discussed this today and we'd like to relocate them. We'd like to aim for 3.5, but if the customizer causes too much of an issue we'll push this back to 4.0.0

Comment From: mhalbritter

I've moved them to org.springframework.boot.actuate.autoconfigure.logging.opentelemetry.OpenTelemetryLoggingAutoConfiguration and org.springframework.boot.actuate.autoconfigure.logging.opentelemetry.SdkLoggerProviderBuilderCustomizer.

The moved OpenTelemetryLoggingAutoConfiguration takes care of the moved SdkLoggerProviderBuilderCustomizer and the old, deprecated one.

Comment From: wilkinsona

Was org.springframework.boot.actuate.autoconfigure.opentelemetry.logging considered for the new package? I wonder if that might have been better as it would then sit alongside the existing org.springframework.boot.actuate.autoconfigure.opentelemetry package. The opentelemtry.logging package name would also align with the OpenTelemetryLoggingAutoConfiguration class name.

I know that we have org.springframework.boot.actuate.autoconfigure.logging.otlp but its management.otlp.logging properties suggest that it should perhaps have been named org.springframework.boot.actuate.autoconfigure.otlp.logging.

Comment From: mhalbritter

I tried mirroring the existing OpenTelemetry support for tracing.

Tracing is in org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration, that's why the original class for logging was located in org.springframework.boot.actuate.autoconfigure.logging.

If we move OpenTelemetryLoggingAutoConfiguration to org.springframework.boot.actuate.autoconfigure.opentelemetry.logging, should we also move OpenTelemetryTracingAutoConfiguration to org.springframework.boot.actuate.autoconfigure.opentelemetry.tracing?

Our usual package structure is org.springframework.boot.actuate.autoconfigure.<domain>.<technology>, at least for metrics and tracing.

Comment From: wilkinsona

I guess it comes down to whether we consider the auto-configuration to primarily be a logging-related feature or an OpenTelemetry-related feature. It feels like the latter to me.

Comment From: wilkinsona

We discussed this today and decided to revert the change in 3.5 and deal with it in 4.0 instead.

Comment From: ThomasVitale

@wilkinsona I guess this issue can be closed as the split was done in Spring Boot 4.0 M1 (spring-boot-opentelemetry module)

Comment From: wilkinsona

It can indeed. Thank you!