2014-03-31 8 views
0

우리는 응용 프로그램 로깅을 위해 log4j를 사용하고 응용 프로그램 패키징을 위해 maven을 사용하고 있습니다. EAR의 일부로 배포되는 3-4 개의 응용 프로그램이 있으므로 EAR의 크기가 큽니다. 우리는 '스키니 전쟁'의 접근법을 시도했지만 log4j에 문제가있었습니다. 우리는 각 응용 프로그램마다 다른 파일에 응용 프로그램 로그를 기록하는 데 사용했지만, log4j 클래스는 한 번만로드되며 하나의 로그 파일 만 생성되고 각 응용 프로그램의 로그는 동일한 로그 파일에 추가됩니다.스키니 전쟁 및 log4j

우리는 각 WAR에서 log4j.jar를 패키징하는 유명한 해결책을 생각했지만 WAR ex에서는 log4j가 필요한 모든 jar 파일을 이동해야합니다. spring jar 's는 본질적으로 EAR 크기를 증가시킵니다.

이 문제에 대한 대안이 있습니까? 어떤 제안이라도 도움이 될 것입니다.

감사합니다.

답변

0

의 log4j 1.3/log4j2 당신이 초기화 문제를 해결하는 데 도움이 있는지 확인 - ContextJNDISelector가

http://logging.apache.org/log4j/2.x/manual/webapp.html

logback을 비교하기 위해 구글 - JoranConfigurator 그것은 정확히, 사용자 컨텍스트를 기반으로 설정

않습니다

http://logback.qos.ch/manual/configuration.html

+0

log4j의 해당 버전을 사용할 수 없습니다. 우리가 통합 한 응용 프로그램 중 일부는 이전 버전의 lib에 종속되어 있기 때문에. 감사합니다. 어쨌든! – user765635

+0

귀 레벨에서 log4j를로드하면 기본적으로 log4j 클래스를로드하는 클래스 로더가 하나뿐입니다. classpath에 log4j.xml이 있으면 log4j.xml이 한 번만 초기화되고, 원하는 경우가 아니라면 한 번만 초기화 할 수 있습니다. configureandwatch api 마음에, http://www.certpal.com/blogs/2010/05/how-to-configure-log4j-for-a-web-app/- appenders 및 핸들러를 별도로 유지하는 것이 좋습니다 도전을 참조하십시오. 다른 전쟁에 대한 기억, 다른 웹 응용 프로그램에서 같은 클래스 (일종의 프레임 워크라고도 함)를 사용하는 경우 고유 한 방식으로 카테고리를 만들어야 할 수도 있습니다. –