Merge pull request #43863 from nosan
* pr/43863: Polish "Fix potential NPE in GraylogExtendedLogFormatProperties" Fix potential NPE in GraylogExtendedLogFormatProperties Closes gh-43863
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -32,7 +32,12 @@ import org.springframework.util.StringUtils;
|
||||
*/
|
||||
public record GraylogExtendedLogFormatProperties(String host, Service service) {
|
||||
|
||||
static final GraylogExtendedLogFormatProperties NONE = new GraylogExtendedLogFormatProperties(null, Service.NONE);
|
||||
static final GraylogExtendedLogFormatProperties NONE = new GraylogExtendedLogFormatProperties(null, null);
|
||||
|
||||
public GraylogExtendedLogFormatProperties(String host, Service service) {
|
||||
this.host = host;
|
||||
this.service = (service != null) ? service : Service.NONE;
|
||||
}
|
||||
|
||||
GraylogExtendedLogFormatProperties withDefaults(Environment environment) {
|
||||
String name = withFallbackProperty(environment, this.host, "spring.application.name");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -41,6 +41,32 @@ class GraylogExtendedLogFormatPropertiesTests {
|
||||
assertThat(properties).isEqualTo(new GraylogExtendedLogFormatProperties("spring", new Service("1.2.3")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBindsFromEnvironmentWhenHostIsPresentAndServiceIsMissing() {
|
||||
MockEnvironment environment = new MockEnvironment();
|
||||
environment.setProperty("logging.structured.gelf.host", "spring");
|
||||
GraylogExtendedLogFormatProperties properties = GraylogExtendedLogFormatProperties.get(environment);
|
||||
assertThat(properties).isEqualTo(new GraylogExtendedLogFormatProperties("spring", new Service(null)));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBindsFromEnvironmentWhenHostIsPresentAndServiceIsMissingUsesApplicationVersion() {
|
||||
MockEnvironment environment = new MockEnvironment();
|
||||
environment.setProperty("logging.structured.gelf.host", "spring");
|
||||
environment.setProperty("spring.application.version", "1.2.3");
|
||||
GraylogExtendedLogFormatProperties properties = GraylogExtendedLogFormatProperties.get(environment);
|
||||
assertThat(properties).isEqualTo(new GraylogExtendedLogFormatProperties("spring", new Service("1.2.3")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBindsFromEnvironmentWhenVersionIsPresentAndHostIsMissingUsesApplicationName() {
|
||||
MockEnvironment environment = new MockEnvironment();
|
||||
environment.setProperty("spring.application.name", "spring");
|
||||
environment.setProperty("logging.structured.gelf.service.version", "1.2.3");
|
||||
GraylogExtendedLogFormatProperties properties = GraylogExtendedLogFormatProperties.get(environment);
|
||||
assertThat(properties).isEqualTo(new GraylogExtendedLogFormatProperties("spring", new Service("1.2.3")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getWhenNoServiceNameUsesApplicationName() {
|
||||
MockEnvironment environment = new MockEnvironment();
|
||||
|
||||
Reference in New Issue
Block a user