Skip to content

Commit ff4d592

Browse files
Upgrade sample app to Spring Boot 4.0.5 and JUnit 6.0.3 (#365)
Demonstrates how the library can be used with Spring Boot 4. Jackson dependencies were left to be compatible with Spring Boot 3.5.12. Signed-off-by: Karsten Schnitter <k.schnitter@sap.com>
1 parent 2c38360 commit ff4d592

File tree

7 files changed

+28
-38
lines changed

7 files changed

+28
-38
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<servlet.api.version>6.0.0</servlet.api.version>
7878

7979
<!-- Test dependencies -->
80-
<junit.version>5.12.2</junit.version>
80+
<junit.version>6.0.3</junit.version>
8181
<assertj.version>3.27.7</assertj.version>
8282
<mockito.version>5.23.0</mockito.version>
8383
<jmh.version>1.37</jmh.version>
@@ -90,7 +90,7 @@
9090
<enforcer.plugin.version>3.6.2</enforcer.plugin.version>
9191
<source.plugin.version>3.4.0</source.plugin.version>
9292
<jar.plugin.version>3.5.0</jar.plugin.version>
93-
<surefire.plugin.version>2.22.2</surefire.plugin.version>
93+
<surefire.plugin.version>3.5.3</surefire.plugin.version>
9494
<exec.plugin.version>3.6.3</exec.plugin.version>
9595
<javadoc.plugin.version>3.12.0</javadoc.plugin.version>
9696
<gpg.plugin.version>3.2.8</gpg.plugin.version>

sample-spring-boot/pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18-
<spring.boot.version>3.5.12</spring.boot.version>
18+
<spring.boot.version>4.0.5</spring.boot.version>
1919
<keytool.plugin.version>1.5</keytool.plugin.version>
2020
<keystore.token.store_password>0bzhBRNUXBR5
2121
</keystore.token.store_password>
@@ -103,12 +103,12 @@
103103
<groupId>org.springframework.boot</groupId>
104104
<artifactId>spring-boot-starter-test</artifactId>
105105
<scope>test</scope>
106-
</dependency>
107-
<dependency>
108-
<groupId>com.sap.hcp.cf.logging</groupId>
109-
<artifactId>cf-java-logging-support-servlet-dynlog-jwt</artifactId>
110-
<version>${project.version}</version>
111-
<scope>compile</scope>
106+
<exclusions>
107+
<exclusion>
108+
<groupId>com.vaadin.external.google</groupId>
109+
<artifactId>android-json</artifactId>
110+
</exclusion>
111+
</exclusions>
112112
</dependency>
113113

114114
<dependency>
@@ -185,7 +185,7 @@
185185
</dependency>
186186
<dependency>
187187
<groupId>org.apache.logging.log4j</groupId>
188-
<artifactId>log4j-slf4j-impl</artifactId>
188+
<artifactId>log4j-slf4j2-impl</artifactId>
189189
<version>${log4j2.version}</version>
190190
</dependency>
191191
<dependency>
@@ -207,7 +207,7 @@
207207
</exclusion>
208208
<exclusion>
209209
<groupId>org.apache.logging.log4j</groupId>
210-
<artifactId>log4j-slf4j-impl</artifactId>
210+
<artifactId>log4j-slf4j2-impl</artifactId>
211211
</exclusion>
212212
<exclusion>
213213
<groupId>org.apache.logging.log4j</groupId>

sample-spring-boot/src/main/java/com/sap/hcp/cf/logging/sample/springboot/SampleAppSpringBootApplication.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
import org.springframework.boot.web.servlet.FilterRegistrationBean;
88
import org.springframework.context.annotation.Bean;
99
import org.springframework.core.Ordered;
10-
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
1110

1211
import java.time.Clock;
1312

1413
@SpringBootApplication
15-
@EnableWebMvc
1614
public class SampleAppSpringBootApplication {
1715

1816
public static void main(String[] args) {

sample-spring-boot/src/main/java/com/sap/hcp/cf/logging/sample/springboot/controller/LogController.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,29 @@ public ResponseEntity<String> generateLog(@PathVariable("logger") String loggerN
3434
defaultValue = DEFAULT_LOG_MESSAGE) String message) {
3535
Logger logger = LoggerFactory.getLogger(loggerName);
3636
switch (logLevel.toLowerCase()) {
37-
case "error":
37+
case "error" -> {
3838
logger.error(message);
3939
return ResponseEntity.ok().body("Generated error log with message: \"" + message + "\".");
40-
case "warn":
41-
case "warning":
40+
}
41+
case "warn", "warning" -> {
4242
logger.warn(message);
4343
return ResponseEntity.ok().body("Generated warn log with message: \"" + message + "\".");
44-
case "info":
45-
case "informational":
44+
}
45+
case "info", "informational" -> {
4646
logger.info(message);
4747
return ResponseEntity.ok().body("Generated info log with message: \"" + message + "\".");
48-
case "debug":
48+
}
49+
case "debug" -> {
4950
logger.debug(message);
5051
return ResponseEntity.ok().body("Generated debug log with message: \"" + message + "\".");
51-
case "trace":
52+
}
53+
case "trace" -> {
5254
logger.trace(message);
5355
return ResponseEntity.ok().body("Generated trace log with message: \"" + message + "\".");
5456
}
55-
return ResponseEntity.badRequest().body("Unknows log level \"" + logLevel + "\".");
57+
default -> {
58+
return ResponseEntity.badRequest().body("Unknows log level \"" + logLevel + "\".");
59+
}
60+
}
5661
}
5762
}

sample-spring-boot/src/main/java/com/sap/hcp/cf/logging/sample/springboot/security/SecurityConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public class SecurityConfiguration {
2323
public UserDetailsService userDetails(@Autowired PasswordEncoder encoder,
2424
@Value("${auth.basic.username:user}") String username,
2525
@Value("${auth.basic.password:secret}") String password) {
26-
UserDetails user = User.withUsername(username).password(encoder.encode(password)).roles(Roles.USER).build();
26+
UserDetails user =
27+
User.builder().username(username).password(encoder.encode(password)).roles(Roles.USER).build();
2728
return new InMemoryUserDetailsManager(user);
2829
}
2930

sample-spring-boot/src/main/java/com/sap/hcp/cf/logging/sample/springboot/statistics/StatisticsContextFieldSupplier.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,18 @@
22

33
import com.sap.hcp.cf.logging.common.serialization.ContextFieldSupplier;
44

5-
import java.util.HashMap;
65
import java.util.Map;
76
import java.util.concurrent.atomic.AtomicLong;
87

98
public class StatisticsContextFieldSupplier implements ContextFieldSupplier {
109

1110
private static final String KEY = "message_count";
1211

13-
private static AtomicLong count = new AtomicLong();
12+
private static final AtomicLong count = new AtomicLong();
1413

15-
@SuppressWarnings("serial")
1614
@Override
1715
public Map<String, Object> get() {
18-
return new HashMap<String, Object>() {
19-
{
20-
put(KEY, count.incrementAndGet());
21-
}
22-
};
16+
return Map.of(KEY, count.incrementAndGet());
2317
}
2418

2519
}

sample-spring-boot/src/main/resources/logback.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,6 @@
1414
<!-- <customFieldMdcKeyName>message_count</customFieldMdcKeyName> -->
1515
</encoder>
1616
</appender>
17-
<appender name="STDOUT"
18-
class="ch.qos.logback.core.ConsoleAppender">
19-
<encoder>
20-
<pattern>%d %-5level [%thread] %logger{0} [%mdc]>: %msg
21-
%replace(%xEx){'\n', ' | '}%nopex%n
22-
</pattern>
23-
</encoder>
24-
</appender>
2517
<!-- default log level for all loggers is INFO by default -->
2618
<root level="${LOG_ROOT_LEVEL:-INFO}">
2719
<appender-ref ref="STDOUT-JSON"/>

0 commit comments

Comments
 (0)