2016-08-06 2 views
3

나는 코드의 무리를 상속 나는 바람둥이 로그에이없음 펜더는 로거를 찾을 수 없습니다 (org.springframework.web.context.ContextLoader)

log4j를 말한다 것으로 나타났습니다 : 없음 펜더가있을 수 WARN 로거 (org.springframework.web.context.ContextLoader)에서 발견되었습니다. log4j : 경고 은 log4j 시스템을 올바르게 초기화하십시오. log4j : WARN 자세한 내용은 http://logging.apache.org/log4j/1.2/faq.html#noconfig을 참조하십시오.

faq 링크는 기본 구성 파일 log4j.properties 및 log4j.xml을 찾을 수없고 응용 프로그램이 명시 적 구성을 수행하지 않을 때 발생한다고 언급합니다.

정확히 어떻게 수정해야하는지 파악할 수 있습니다. xml 파일은 다음과 같습니다. 그래서 log4j.xml이 없기 때문에 각 환경에 하나씩 존재하기 때문에 그 파일을 추측하고 있습니다. 문제가 있다고 가정하면 올바르게 구성하는 방법을 설명합니다.

<bean id="log4jInitialization" 
     class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
     <property name="targetClass" value="org.springframework.util.Log4jConfigurer" /> 
     <property name="targetMethod" value="initLogging" /> 
     <property name="arguments"> 
      <list> 
       <value>classpath:log4j-${environment}.properties</value> 
      </list> 
     </property> 
    </bean> 
+0

알아 따라 어떤 'environment'의 값은 (아마도' dev' 또는'prod'로 tomcat 아래의 모든 파일에서 "environment"에 대한 텍스트 검색을하거나'ps' 정보를보고) log4j-dev.xml에 유효한 log4j 설정을 넣으십시오. 이름은 배포 된 웹 애플리케이션의'WEB-INF/classes' 디렉토리에서 실제로 해결되는 환경에 따라 다릅니다). – heenenee

+3

'$ {environment}'속성이 존재합니까? [mcve]를 만들고 Spring 설정을 게시 할 수 있습니까? – Tunaki

답변

0

소수 집단 솔루션 -

  1. 빈을 정의하고 있지만,이 값은 페치되고 ${environment}된다 (env 가정) 여기서 일부 속성 파일이되어야한다. 이 값을 파일 이름에 추가하는 것에주의해야합니다. 프로젝트 리소스 아래 있어야합니다. 귀하의 경우에는 log4j-env.properties이라는 파일이 있습니다. 당신은 web.xml에서 Log4j의 리스너를 구성 할 수

    <property name="arguments"> 
        <list> 
         <value>#{environment + '/log4j.properties'}</value> 
        </list> 
    </property> 
    
  2. -로 대신 값을 수정하기 위해

  3. 는 다른 디렉토리으로 분류하면서 서로 다른 환경에 대한 로깅을 서로 다른 방법을 사용하는 방법을 추천 하시겠습니까 spring-context.xml 대신에 스프링이 시작되기 전에 작동합니다. 로 -

    <context-param> 
        <param-name>log4jConfigLocation</param-name> 
        <param-value>/${environment}/log4j.properties</param-value> 
    </context-param> 
    
    <listener> 
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    </listener> 
    

소스-Initializing Log4J with Spring?

- 런타임에 environment에 올바른 값을 할당하는 방법으로, How to replace a value in web.xml with a Maven property?