I log4j2 trying to set up logging in Spring 4 MVC via log4j2 , but no logs are written to the console or to the file. In the settings, log4j2 set the output of its initialization information to the DEBUG level and it was clear that the configuration was pulling up. The Spring controller is working, tested on System.out.println() . I found several options for log4j2 integration in spring in Google, but none of them helped.
Web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/config/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/config/mvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--<welcome-file-list>--> <!--<welcome-file>/WEB-INF/view/index.jsp</welcome-file>--> <!--</welcome-file-list>--> <error-page> <error-code>404</error-code> <location>/WEB-INF/view/error/error404.jsp</location> </error-page> </web-app> log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration status="INFO"> <properties> <property name="string_log">%-23d{dd-MM-yyyy HH:mm:ss}[%-5p] %-42l %m%n</property> </properties> <Appenders> <Console name="console"> <PatternLayout> <pattern></pattern> </PatternLayout> </Console> <RollingFile name="file" fileName="/home/bleser/logs/working.log" filePattern="/home/bleser/logs/%d{dd-MM-yy}/working-%d{dd-MM-yy}.log" immediateFlush="false"> <Policies> <SizeBasedTriggeringPolicy size="1 MB"/> <TimeBasedTriggeringPolicy interval="20" modulate="true"/> </Policies> <PatternLayout pattern="" charset="UTF-8"/> </RollingFile> </Appenders> <Loggers> <Root level="info"> <appender-ref ref="console"/> </Root> <Logger name="net.bleser" level="INFO" additivity="true"> <appender-ref ref="file"/> </Logger> </Loggers> </configuration> POM Dependencies
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>${jsp.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.3.RELEASE</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4.1211</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.atteo.moonshine</groupId> <artifactId>spring-data</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.1-b04</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.6.2</version> </dependency> </dependencies> Controller
@Controller public class UserController { static final Logger log = LogManager.getLogger(UserController.class.getName()); @Qualifier("userService") @Autowired private UserService service; @RequestMapping(value = "/") public String main(Model model){ log.info("log"); model.addAttribute("user",new User()); User user = new User(1,"test","test"); model.addAttribute("users",user); return "/index"; } }
static final Logger log = LogManager.getLogger(UserController.class.getName());controllerstatic final Logger log = LogManager.getLogger(UserController.class.getName());he starts looking forlog4j2.xml .json .propertiesfileslog4j2.xml .json .properties- Bleser