복붙노트

[SPRING] log4j2로 작성되지 않은 스프링 로그

SPRING

log4j2로 작성되지 않은 스프링 로그

나는 spring과 log4j에 익숙하지 않다. Spring framework와 log4j2 라이브러리를 사용하는 Hello World 프로젝트 샘플을 시도하고있다. 내 src 폴더에 log4j2.xml 있습니다. 응용 프로그램을 실행할 때 응용 프로그램 로그 만 로그 파일에 기록됩니다. 스프링 로그는 기록되지 않습니다.하지만 콘솔에서 볼 수 있습니다. 나는 내 클래스 패스에 jar (spring dependency), log4j2 및 spring jars를 로깅하고있다. 여기에 구성이 누락 된 경우 아무도 도와 줄 수 있습니까?

내 log4j2 XML 파일,

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

내 코드 :

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

산출:

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

출력 파일에 스프링 로그가 없습니다.

감사, 수마

해결법

  1. ==============================

    1.다른 대답은 실제 답변에서 설명하지 않으므로 해결 방법은 아래의 Commons Logging Bridge 종속성을 Maven pom.xml 파일에 추가하는 것입니다.

    다른 대답은 실제 답변에서 설명하지 않으므로 해결 방법은 아래의 Commons Logging Bridge 종속성을 Maven pom.xml 파일에 추가하는 것입니다.

    Apache Log4j 웹 페이지에 명시된 바와 같이 :

    <dependencies>
      ...
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-jcl</artifactId>
        <version>2.1</version>
      </dependency>
      ...
    </dependencies>
    

    이 종속성을 추가하는 효과에 대한 아래 예제를 참조하십시오.

    May 11, 2015 8:10:41 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon May 11 20:10:41 IST 2015]; root of context hierarchy
    May 11, 2015 8:10:42 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    INFO: Loading XML bean definitions from class path resource [datapower.xml]
    May 11, 2015 8:10:42 PM org.springframework.ws.soap.saaj.SaajSoapMessageFactory afterPropertiesSet
    INFO: Creating SAAJ 1.3 MessageFactory with SOAP 1.1 Protocol
    May 11, 2015 8:10:42 PM org.springframework.oxm.jaxb.Jaxb2Marshaller createJaxbContextFromContextPath
    INFO: Creating JAXBContext with context path [com.datapower.schemas.management]
    May 11, 2015 8:10:45 PM org.springframework.oxm.jaxb.Jaxb2Marshaller createJaxbContextFromContextPath
    INFO: Creating JAXBContext with context path [com.datapower.schemas.management]
    May 11, 2015 8:10:47 PM org.springframework.ws.soap.saaj.SaajSoapMessageFactory afterPropertiesSet
    INFO: Creating SAAJ 1.3 MessageFactory with SOAP 1.1 Protocol
    
    22:07:21.925 [main] INFO  org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@22eeefeb: startup date [Mon May 11 22:07:21 IST 2015]; root of context hierarchy
    22:07:21.950 [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [datapower.xml]
    22:07:22.059 [main] INFO  org.springframework.ws.soap.saaj.SaajSoapMessageFactory - Creating SAAJ 1.3 MessageFactory with SOAP 1.1 Protocol
    22:07:22.068 [main] INFO  org.springframework.oxm.jaxb.Jaxb2Marshaller - Creating JAXBContext with context path [com.datapower.schemas.management]
    22:07:24.446 [main] INFO  org.springframework.oxm.jaxb.Jaxb2Marshaller - Creating JAXBContext with context path [com.datapower.schemas.management]
    22:07:26.554 [main] INFO  org.springframework.ws.soap.saaj.SaajSoapMessageFactory - Creating SAAJ 1.3 MessageFactory with SOAP 1.1 Protocol
    
  2. from https://stackoverflow.com/questions/28934834/spring-logs-not-written-in-log4j2 by cc-by-sa and MIT license