From 0c973f492ebb8826e1d4cc73f46efb7b0e39b296 Mon Sep 17 00:00:00 2001 From: lor6 Date: Mon, 15 May 2017 14:46:35 +0300 Subject: [PATCH] injection point example (#1850) --- spring-all/pom.xml | 14 ++++++++++++++ .../composedmapping/AppointmentsController.java | 7 ++++++- spring-all/src/main/resources/log4j2.properties | 11 +++++++++++ .../ComposedMappingConfiguration.java | 10 ++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 spring-all/src/main/resources/log4j2.properties 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()); + } + }