I am new to spring and log4j.I am trying a sample Hello World project with spring framework and using log4j2 library. I have log4j2.xml in my src folder. When i run the application, only my application logs are written in the log file. The spring logs are not written.However i can see them in the console. I have commons logging jar (spring dependency), log4j2 and spring jars in my classpath. Can anyone help me if I am missing any configuration here?
My log4j2 xml file,
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="trace" monitorInterval="5">
<Appenders>
<Console name="consoleAppender" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="fileAppender" fileName="learning.log" append="true">
<PatternLayout pattern="%t %-5p %c{2} - %m%n"/>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="consoleAppender"/>
<AppenderRef ref="fileAppender"/>
</Root>
</Loggers>
</configuration>
My Code:
public class MainApp {
static Logger log = LogManager.getLogger(MainApp.class.getName());
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
log.info("Going to create HelloWord Obj");
HellowWorld obj = (HellowWorld) context.getBean("helloWorld");
obj.getMessage();
log.info("Exiting the program");
}
}
output:
main INFO springExample.MainApp - Going to create HelloWord Obj
main INFO springExample.MainApp - Exiting the program
The spring logs are missing in the output file.
Thanks, Suma