2011-08-27 4 views
4

"java -jar myjar.jar"와 같은 실행 가능한 jar를 사용하여 동일한 프로그램을 실행할 때 log4j가 "java pakcage.Main"을 실행할 때 잘 작동합니다. m 다음 ERR을 받고 :java : log4j : jar 실행 파일의 문제점

log4j:WARN No appenders could be found for logger 
log4j:WARN Please initialize the log4j system properly 

log4j.jarlog4j.properties이 threre 내 매니페스트의 Class-Path에.

일단 제대로 작동 했겠지만 재구성 한 후에 작동하지 않을 것이라고 확신합니다.

+0

속성 파일을 클래스 경로에 사용할 수 없습니다. jar 또는 디렉토리가 될 수 있지만 특성 파일은 될 수 없습니다. log4j.properties (또는 그것을 포함하는 jar)가 들어있는 디렉토리는 클래스 경로에 있어야합니다. –

+0

감사합니다. @JB Nizet. 지금은 잘 작동하고 있습니다. –

답변

4

당신 만 나열 jar 파일이나 디렉토리 클래스 경로의 일환으로 할 수 있습니다. log4j.properties를 지정하는 대신 등록 정보 파일이 실행되는 jar에 상대적인 디렉토리를 지정해야합니다.

예 :

myjar.jar 만약 ./lib/와 log4j.properties의 기본 디렉토리에 log4j.jar에서 ./conf/

myjar.jar의 클래스 경로 항목으로의 에 log4j.jar/lib 디렉토리의 conf/난 당신이 단순히 당신의 log4j.xml (또는 log4j.properties) 사용자 정의 JAR 파일의 내부 파일을 포함 할 수 있어야한다고 생각

1

:

클래스 경로를 따른다. Jar 파일의 루트에 있으면 log4j 프레임 워크에서 찾을 수 있습니다.