Spring-Protokolle, die nicht in log4j2 @ geschrieben wurd

Ich bin neu in spring und log4j. Ich versuche ein Beispiel für ein Hello World-Projekt mit spring-Framework und benutze die log4j2-Bibliothek. Ich habe log4j2.xml in meinem src-Ordner. Wenn ich die Anwendung ausführe, werden nur meine Anwendungsprotokolle in die Protokolldatei geschrieben. Die Frühlingsprotokolle werden nicht geschrieben. Jedoch kann ich sie in der Konsole sehen. Ich habe Commons Logging Jar (Frühlingsabhängigkeit), Log4J2 und Spring Jars in meinem Klassenpfad. Kann mir jemand helfen, wenn ich hier eine Konfiguration vermisse?

Meine log4j2-XML-Datei,

<?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>

Mein 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");
}
}

Ausgabe

main INFO  springExample.MainApp - Going to create HelloWord Obj
main INFO  springExample.MainApp - Exiting the program

Die Frühlingsprotokolle fehlen in der Ausgabedatei.

Danke, Suma

Antworten auf die Frage(2)

Ihre Antwort auf die Frage