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!