diff --git a/spring-all/pom.xml b/spring-all/pom.xml
index 4379a4281f..1ecb824c40 100644
--- a/spring-all/pom.xml
+++ b/spring-all/pom.xml
@@ -164,6 +164,18 @@
ehcache
${ehcache.version}
+
+
+ org.apache.logging.log4j
+ log4j-api
+ ${log4j.version}
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${log4j.version}
+
+
@@ -264,6 +276,8 @@
3.6.1
6.4.0
+ 2.8.2
+
\ No newline at end of file
diff --git a/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java b/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java
index 9f3c8729d8..e83a33eb89 100644
--- a/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java
+++ b/spring-all/src/main/java/org/baeldung/spring43/composedmapping/AppointmentsController.java
@@ -6,12 +6,16 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.apache.logging.log4j.Logger;
@Controller
@RequestMapping("/appointments")
public class AppointmentsController {
- private final AppointmentService appointmentService;
+ private AppointmentService appointmentService;
+
+ @Autowired
+ private Logger logger;
@Autowired
public AppointmentsController(AppointmentService appointmentService) {
@@ -20,6 +24,7 @@ public class AppointmentsController {
@GetMapping
public Map get() {
+ logger.info("Getting appointments...");
return appointmentService.getAppointmentsForToday();
}
diff --git a/spring-all/src/main/resources/log4j2.properties b/spring-all/src/main/resources/log4j2.properties
new file mode 100644
index 0000000000..ed45bfa7a4
--- /dev/null
+++ b/spring-all/src/main/resources/log4j2.properties
@@ -0,0 +1,11 @@
+rootLogger.level=info
+rootLogger.appenderRefs = stdout
+rootLogger.appenderRef.stdout.ref = STDOUT
+
+appenders=console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %p %d{yyyy-MM-dd} [%t] %c{1} - %msg%n
+
\ No newline at end of file
diff --git a/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java b/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java
index 46bf3d8847..eddd56a11b 100644
--- a/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java
+++ b/spring-all/src/test/java/org/baeldung/spring43/composedmapping/ComposedMappingConfiguration.java
@@ -9,6 +9,10 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
+import org.springframework.beans.factory.InjectionPoint;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.context.annotation.Scope;
import static org.easymock.EasyMock.*;
@@ -33,4 +37,10 @@ public class ComposedMappingConfiguration {
return book;
}
+ @Bean
+ @Scope("prototype")
+ public Logger logger(InjectionPoint injectionPoint) {
+ return LogManager.getLogger(injectionPoint.getField().getDeclaringClass());
+ }
+
}