Skip to content

Commit c627580

Browse files
Upgrade sample app to Spring Boot 4.0.5 and JUnit 6.0.3
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 75311c5 commit c627580

7 files changed

Lines changed: 28 additions & 38 deletions

File tree

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)