2012-03-19 2 views
0

Log4J에서 막 시작했습니다. 실제로 이해하지 못하는 문제에 직면하고 있습니다. test.log.Program.main에서 0 (Program.java:20) : 나는 이클립스 IDE를 사용하고, 그리고 컴파일 후이 메시지가 있어요 : 스레드 "주요"java.lang.ArrayIndexOutOfBoundsException의Log4J에서 문제 제기하기

예외

내가

static Logger logger = Logger.getLogger(Program.class); 
/** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException{      
    PropertyConfigurator.configure(args[0]); 
    logger.info("Hello PropertyConfigurator"); 
} 

알려 주시기 바랍니다

을 쓴 코드 아래를 참조하십시오.

감사합니다.

답변

1

문제는 Log4j와 관련이 없습니다. 아마도 args [0]가 정의되지 않았 음을 의미하는 인수없이 프로그램을 호출했을 것입니다. 이것을 시도하십시오 :

static Logger logger = Logger.getLogger(Program.class); 
/** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException{ 
    if (args.length > 0){ 
    PropertyConfigurator.configure(args[0]); 
    } 
    logger.info("Hello PropertyConfigurator"); 
} 

이제 매개 변수의 유무에 관계없이 작동해야합니다.

+0

안녕하세요, 다시 저입니다. 귀하의 답변과 같은 코드를 편집하지만, 이제 다음과 같은 오류가 발생했습니다 : log4j : WARN 로거 (test.log.Program)에 대한 appender를 찾을 수 없습니다. log4j : WARN log4j 시스템을 올바르게 초기화하십시오. log4j : WARN 자세한 내용은 http://logging.apache.org/log4j/1.2/faq.html#noconfig를 참조하십시오. –

+0

@ user893953 http://stackoverflow.com/questions/1140358/how-to-initialize-log4j-properly를 참조하십시오. –

+0

안녕하세요, 이제 확인해보세요. 내 XML 파일이 올바른 폴더에 없습니다! Tx –

관련 문제