Skip to content

Commit 7e58970

Browse files
committed
Rename management.opentelemetry.logging.export properties
They are now under 'management.opentelemetry.logging.export.otlp.*'. Closes gh-47954
1 parent 93381c7 commit 7e58970

File tree

7 files changed

+38
-34
lines changed

7 files changed

+38
-34
lines changed

documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/loggers.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ management:
4545
opentelemetry:
4646
logging:
4747
export:
48-
endpoint: "https://otlp.example.com:4318/v1/logs"
48+
otlp:
49+
endpoint: "https://otlp.example.com:4318/v1/logs"
4950
----
5051

5152
NOTE: The OpenTelemetry Logback appender and Log4j appender are not part of Spring Boot.

module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OtlpLoggingAutoConfiguration.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
*/
3737
@AutoConfiguration
3838
@ConditionalOnClass({ ConditionalOnEnabledLoggingExport.class, OpenTelemetry.class, SdkLoggerProvider.class })
39-
@ConditionalOnEnabledLoggingExport("opentelemetry")
4039
@EnableConfigurationProperties(OtlpLoggingProperties.class)
4140
@Import({ ConnectionDetails.class, Exporters.class })
4241
public final class OtlpLoggingAutoConfiguration {

module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OtlpLoggingConfigurations.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporterBuilder;
2626

2727
import org.springframework.beans.factory.ObjectProvider;
28+
import org.springframework.boot.actuate.autoconfigure.logging.ConditionalOnEnabledLoggingExport;
2829
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2930
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3031
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -46,7 +47,7 @@ static class ConnectionDetails {
4647

4748
@Bean
4849
@ConditionalOnMissingBean
49-
@ConditionalOnProperty("management.opentelemetry.logging.export.endpoint")
50+
@ConditionalOnProperty("management.opentelemetry.logging.export.otlp.endpoint")
5051
PropertiesOtlpLoggingConnectionDetails openTelemetryLoggingConnectionDetails(OtlpLoggingProperties properties) {
5152
return new PropertiesOtlpLoggingConnectionDetails(properties);
5253
}
@@ -80,10 +81,11 @@ public String getUrl(Transport transport) {
8081
@ConditionalOnClass(OtlpHttpLogRecordExporter.class)
8182
@ConditionalOnMissingBean({ OtlpGrpcLogRecordExporter.class, OtlpHttpLogRecordExporter.class })
8283
@ConditionalOnBean(OtlpLoggingConnectionDetails.class)
84+
@ConditionalOnEnabledLoggingExport("otlp")
8385
static class Exporters {
8486

8587
@Bean
86-
@ConditionalOnProperty(name = "management.opentelemetry.logging.export.transport", havingValue = "http",
88+
@ConditionalOnProperty(name = "management.opentelemetry.logging.export.otlp.transport", havingValue = "http",
8789
matchIfMissing = true)
8890
OtlpHttpLogRecordExporter otlpHttpLogRecordExporter(OtlpLoggingProperties properties,
8991
OtlpLoggingConnectionDetails connectionDetails, ObjectProvider<MeterProvider> meterProvider) {
@@ -98,7 +100,7 @@ OtlpHttpLogRecordExporter otlpHttpLogRecordExporter(OtlpLoggingProperties proper
98100
}
99101

100102
@Bean
101-
@ConditionalOnProperty(name = "management.opentelemetry.logging.export.transport", havingValue = "grpc")
103+
@ConditionalOnProperty(name = "management.opentelemetry.logging.export.otlp.transport", havingValue = "grpc")
102104
OtlpGrpcLogRecordExporter otlpGrpcLogRecordExporter(OtlpLoggingProperties properties,
103105
OtlpLoggingConnectionDetails connectionDetails, ObjectProvider<MeterProvider> meterProvider) {
104106
OtlpGrpcLogRecordExporterBuilder builder = OtlpGrpcLogRecordExporter.builder()

module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OtlpLoggingProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
* @author Jonatan Ivanov
3131
* @since 4.0.0
3232
*/
33-
@ConfigurationProperties("management.opentelemetry.logging.export")
33+
@ConfigurationProperties("management.opentelemetry.logging.export.otlp")
3434
public class OtlpLoggingProperties {
3535

3636
/**

module/spring-boot-opentelemetry/src/main/resources/META-INF/additional-spring-configuration-metadata.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
"description": "Whether auto-configuration of logging is enabled to export logs.",
88
"defaultValue": true,
99
"deprecation": {
10-
"replacement": "management.opentelemetry.logging.export.enabled",
10+
"replacement": "management.logging.export.otlp.enabled",
1111
"level": "error"
1212
}
1313
},
1414
{
15-
"name": "management.opentelemetry.logging.export.enabled",
15+
"name": "management.logging.export.otlp.enabled",
1616
"type": "java.lang.Boolean",
1717
"description": "Whether auto-configuration of logging is enabled to export logs over OTLP."
1818
},
@@ -21,7 +21,7 @@
2121
"type": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
2222
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
2323
"deprecation": {
24-
"replacement": "management.opentelemetry.logging.export",
24+
"replacement": "management.opentelemetry.logging.export.otlp",
2525
"level": "error"
2626
}
2727
},
@@ -32,7 +32,7 @@
3232
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
3333
"defaultValue": "none",
3434
"deprecation": {
35-
"replacement": "management.opentelemetry.logging.export.compression",
35+
"replacement": "management.opentelemetry.logging.export.otlp.compression",
3636
"level": "error"
3737
}
3838
},
@@ -43,7 +43,7 @@
4343
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
4444
"defaultValue": "10s",
4545
"deprecation": {
46-
"replacement": "management.opentelemetry.logging.export.connect-timeout",
46+
"replacement": "management.opentelemetry.logging.export.otlp.connect-timeout",
4747
"level": "error"
4848
}
4949
},
@@ -53,7 +53,7 @@
5353
"description": "URL to the OTel collector's HTTP API.",
5454
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
5555
"deprecation": {
56-
"replacement": "management.opentelemetry.logging.export.endpoint",
56+
"replacement": "management.opentelemetry.logging.export.otlp.endpoint",
5757
"level": "error"
5858
}
5959
},
@@ -62,7 +62,7 @@
6262
"type": "java.lang.Boolean",
6363
"description": "Whether auto-configuration of logging is enabled to export OTLP logs.",
6464
"deprecation": {
65-
"replacement": "management.opentelemetry.logging.export.enabled",
65+
"replacement": "management.logging.export.otlp.enabled",
6666
"level": "error"
6767
}
6868
},
@@ -72,7 +72,7 @@
7272
"description": "Custom HTTP headers you want to pass to the collector, for example auth headers.",
7373
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
7474
"deprecation": {
75-
"replacement": "management.opentelemetry.logging.export.headers",
75+
"replacement": "management.opentelemetry.logging.export.otlp.headers",
7676
"level": "error"
7777
}
7878
},
@@ -83,7 +83,7 @@
8383
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
8484
"defaultValue": "10s",
8585
"deprecation": {
86-
"replacement": "management.opentelemetry.logging.export.timeout",
86+
"replacement": "management.opentelemetry.logging.export.otlp.timeout",
8787
"level": "error"
8888
}
8989
},
@@ -94,7 +94,7 @@
9494
"sourceType": "org.springframework.boot.opentelemetry.actuate.autoconfigure.logging.OpenTelemetryLoggingExportProperties",
9595
"defaultValue": "http",
9696
"deprecation": {
97-
"replacement": "management.opentelemetry.logging.export.transport",
97+
"replacement": "management.opentelemetry.logging.export.otlp.transport",
9898
"level": "error"
9999
}
100100
}

module/spring-boot-opentelemetry/src/test/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OtlpLoggingAutoConfigurationIntegrationTests.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class OtlpLoggingAutoConfigurationIntegrationTests {
4848

4949
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
5050
.withPropertyValues("spring.application.name=otlp-logs-test",
51-
"management.opentelemetry.logging.export.headers.Authorization=Bearer my-token")
51+
"management.opentelemetry.logging.export.otlp.headers.Authorization=Bearer my-token")
5252
.withConfiguration(
5353
AutoConfigurations.of(OpenTelemetrySdkAutoConfiguration.class, OtlpLoggingAutoConfiguration.class));
5454

@@ -68,7 +68,7 @@ void tearDown() throws IOException {
6868
void httpLogRecordExporterShouldUseProtobufAndNoCompressionByDefault() {
6969
this.mockWebServer.enqueue(new MockResponse());
7070
this.contextRunner
71-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:%d/v1/logs"
71+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:%d/v1/logs"
7272
.formatted(this.mockWebServer.getPort()))
7373
.run((context) -> {
7474
logMessage(context);
@@ -88,8 +88,10 @@ void httpLogRecordExporterShouldUseProtobufAndNoCompressionByDefault() {
8888
void httpLogRecordExporterCanBeConfiguredToUseGzipCompression() {
8989
this.mockWebServer.enqueue(new MockResponse());
9090
this.contextRunner
91-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:%d/v1/logs"
92-
.formatted(this.mockWebServer.getPort()), "management.opentelemetry.logging.export.compression=gzip")
91+
.withPropertyValues(
92+
"management.opentelemetry.logging.export.otlp.endpoint=http://localhost:%d/v1/logs"
93+
.formatted(this.mockWebServer.getPort()),
94+
"management.opentelemetry.logging.export.otlp.compression=gzip")
9395
.run((context) -> {
9496
logMessage(context);
9597
RecordedRequest request = this.mockWebServer.takeRequest(10, TimeUnit.SECONDS);

module/spring-boot-opentelemetry/src/test/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OtlpLoggingAutoConfigurationTests.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ void whenOpenTelemetryIsNotOnClasspathDoesNotProvideBeans(String packageName) {
7777
@Test
7878
void whenHasEndpointPropertyProvidesBeans() {
7979
this.contextRunner
80-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs")
80+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs")
8181
.run((context) -> {
8282
assertThat(context).hasSingleBean(OtlpLoggingConnectionDetails.class);
8383
OtlpLoggingConnectionDetails connectionDetails = context.getBean(OtlpLoggingConnectionDetails.class);
@@ -98,10 +98,10 @@ void whenHasNoEndpointPropertyDoesNotProvideBeans() {
9898
@Test
9999
void whenOpenTelemetryLoggingExportEnabledPropertyIsFalseProvidesExpectedBeans() {
100100
this.contextRunner
101-
.withPropertyValues("management.opentelemetry.logging.export.enabled=false",
102-
"management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs")
101+
.withPropertyValues("management.logging.export.otlp.enabled=false",
102+
"management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs")
103103
.run((context) -> {
104-
assertThat(context).doesNotHaveBean(OtlpLoggingConnectionDetails.class);
104+
assertThat(context).hasSingleBean(OtlpLoggingConnectionDetails.class);
105105
assertThat(context).doesNotHaveBean(LogRecordExporter.class);
106106
});
107107
}
@@ -110,9 +110,9 @@ void whenOpenTelemetryLoggingExportEnabledPropertyIsFalseProvidesExpectedBeans()
110110
void whenLoggingExportEnabledPropertyIsFalseNoProvideExpectedBeans() {
111111
this.contextRunner
112112
.withPropertyValues("management.logging.export.enabled=false",
113-
"management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs")
113+
"management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs")
114114
.run((context) -> {
115-
assertThat(context).doesNotHaveBean(OtlpLoggingConnectionDetails.class);
115+
assertThat(context).hasSingleBean(OtlpLoggingConnectionDetails.class);
116116
assertThat(context).doesNotHaveBean(LogRecordExporter.class);
117117
});
118118
}
@@ -146,7 +146,7 @@ void whenHasCustomLoggingConnectionDetailsDoesNotProvideExporterBean() {
146146
@Test
147147
void whenHasNoTransportPropertySetUsesHttpExporter() {
148148
this.contextRunner
149-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs")
149+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs")
150150
.run((context) -> {
151151
assertThat(context).hasSingleBean(OtlpHttpLogRecordExporter.class);
152152
assertThat(context).hasSingleBean(LogRecordExporter.class);
@@ -157,8 +157,8 @@ void whenHasNoTransportPropertySetUsesHttpExporter() {
157157
@Test
158158
void whenHasTransportPropertySetToHttpUsesHttpExporter() {
159159
this.contextRunner
160-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs",
161-
"management.opentelemetry.logging.export.transport=http")
160+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs",
161+
"management.opentelemetry.logging.export.otlp.transport=http")
162162
.run((context) -> {
163163
assertThat(context).hasSingleBean(OtlpHttpLogRecordExporter.class);
164164
assertThat(context).hasSingleBean(LogRecordExporter.class);
@@ -169,8 +169,8 @@ void whenHasTransportPropertySetToHttpUsesHttpExporter() {
169169
@Test
170170
void whenHasTransportPropertySetToGrpcUsesGrpcExporter() {
171171
this.contextRunner
172-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs",
173-
"management.opentelemetry.logging.export.transport=grpc")
172+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs",
173+
"management.opentelemetry.logging.export.otlp.transport=grpc")
174174
.run((context) -> {
175175
assertThat(context).hasSingleBean(OtlpGrpcLogRecordExporter.class);
176176
assertThat(context).hasSingleBean(LogRecordExporter.class);
@@ -181,7 +181,7 @@ void whenHasTransportPropertySetToGrpcUsesGrpcExporter() {
181181
@Test
182182
void whenHasMeterProviderBeanAddsItToHttpExporter() {
183183
this.contextRunner.withUserConfiguration(MeterProviderConfiguration.class)
184-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs")
184+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs")
185185
.run((context) -> {
186186
OtlpHttpLogRecordExporter otlpHttpLogRecordExporter = context.getBean(OtlpHttpLogRecordExporter.class);
187187
assertThat(otlpHttpLogRecordExporter.toBuilder())
@@ -194,8 +194,8 @@ void whenHasMeterProviderBeanAddsItToHttpExporter() {
194194
@Test
195195
void whenHasMeterProviderBeanAddsItToGrpcExporter() {
196196
this.contextRunner.withUserConfiguration(MeterProviderConfiguration.class)
197-
.withPropertyValues("management.opentelemetry.logging.export.endpoint=http://localhost:4318/v1/logs",
198-
"management.opentelemetry.logging.export.transport=grpc")
197+
.withPropertyValues("management.opentelemetry.logging.export.otlp.endpoint=http://localhost:4318/v1/logs",
198+
"management.opentelemetry.logging.export.otlp.transport=grpc")
199199
.run((context) -> {
200200
OtlpGrpcLogRecordExporter otlpGrpcLogRecordExporter = context.getBean(OtlpGrpcLogRecordExporter.class);
201201
assertThat(otlpGrpcLogRecordExporter.toBuilder())

0 commit comments

Comments
 (0)