2017-01-07 1 views
0

log4j를`log4j.properties '파일로 설정하려고했습니다.log4j : WARN logger (org.apache.http.impl.conn.SingleClientConnManager)에 대한 appender를 찾을 수 없습니다.

모든 작업하지만,하지만 난 이상한 경고 잡은 :

의 log4j는 : 없음 펜더가 로거 (org.apache.http.impl.conn.SingleClientConnManager)를 찾을 수 없습니다 경고한다. log4j : WARN log4j 시스템을 올바르게 초기화하십시오.

log4j.rootLogger=Debug, FILE 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=logs/Logger.log 
log4j.appender.FILE.Threshold=info 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=%5p::%d{yyyy-MM-dd}::%d{ABSOLUTE}::%c{1}::%L - %m%n 

내가 Log4j.properties를로드하기 위해 아래의 클래스를 사용하고 있습니다 :

여기 내 Log4j.properties 파일의

public class Loader { 

    static final Properties Log4j = new Properties(); 
    static Logger logger = Logger.getLogger(Loader.class); 

    static { 
     try { 

      // loading log4j properties file 
      Log4j.load(new FileInputStream("resources\\Log4j.properties")); 
      PropertyConfigurator.configure(Log4j); 
      logger.info("Logger initiated successfully"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

FYI : Log4j 1은 2015 년 중반 이후 EOL입니다. Log4j 1은 Java 9에서 올바르게 작동하지 않습니다. Log4j2로 업그레이드하는 것이 좋습니다. –

답변

0

당신이하려고하기 때문에 파일이 부하에 의해 발견되지 상대 패스를 가지는 FileInputStream

옵션 1 : 당신은 (선호) 2

Log4j.load(Loader.class.getClassLoader().getResourceAsStream("resources/Log4j.properties")); 

옵션으로 파일 변경을 사용하려면 : log4j.properties

그럼 당신이 할 수처럼 소문자 L에 선도적 인 L을 변경 기본 파일 이름이 아니므로 구성을 제거하십시오.

Log4j.load(new FileInputStream("resources\\Log4j.properties")); 
PropertyConfigurator.configure(Log4j); 
관련 문제