2011-04-13 4 views
1

이클립스를 사용하여 JUnit에서 log4j 로깅에 관한 표준 구성이 있습니까? 로거를 사용하는 클래스를 테스트하는 새로운 JUnit-Test를 만들 때 로깅을 사용하도록 실행 구성을 변경할 필요가 없습니다. 놀랍게도 Junit 테스트는 로그 메시지를 표준 출력으로 리디렉션합니다.log4j 로깅을위한 JUnit 기본 구성과 이클립스를 사용하여 변경하는 방법은 무엇입니까?

내 경우에는 중요 정보가 포함 된 메시지 만 인쇄됩니다. 누구나이 동작을 변경하는 방법과 JUnit 로거의 구성을 어디에서 찾을 수 있는지 알고 있습니다.

모든 JUnit 테스트에서 실행 구성을 변경할 수는 있지만 기본 동작과 논리에 더 관심이 있습니다.

답변

4

이것은 JUnit과 아무 관련이 없습니다. 단지 log4j 동작입니다. (log4j는 기본적으로 아무 것도 로그하지 않으며 대신 올바르게 설정되지 않았다는 경고를 표준 에러로 출력합니다.) - 시스템에 -Dlog4j.debug을 추가합니다. args to : 당신의 시스템 패스에 -Dlog4j.debug을 추가하십시오. log4j는 구성을로드하는 위치에 대한 진단 정보를 출력합니다.

+0

-Dlog4j.debug를 사용해 주셔서 감사합니다. Junit은 자동 log4j 구성에 사용하는 대상 폴더에 log4j.xml을 찾습니다. JUnit을 사용하는 동작은 로거가 구성되어 있지 않다는 경고가 표시되기 때문에 프로그램을 직접 실행하는 것과 다릅니다. – Nico

관련 문제