2010-07-12 6 views
1

로깅을 위해 Commons Logging을 사용하는 응용 프로그램이 있습니다. Maven으로 제작되었으며 TestNG를 사용하여 테스트합니다. 테스트 중에 로깅 수준을 미세 조정하려고하지만 모든 행운이 없습니다. 모든 것이 INFO로 설정되어 있습니다. classpath에 logging.properties 파일을 만들려고 시도했지만 절대적으로 아무것도하지 않습니다. 또한 log4testng.properties 파일을 만들었습니다.이 파일은 의도적으로 구문 오류를 도입 한 후에 TestNG가 오류를 표시했기 때문에 읽혀졌습니다. 그러나이 파일의 설정은 아무런 효과가 없습니다.TestNG의 응용 프로그램 로그 수준 설정

제안 사항?


편집 : 글쎄, 난 근본적인 문제를 (java.util.logging의 내 시도를 무시하는 이유를 구성하는) 파악하지 않은하지만 난 시험 기간 동안 Log4j를 사용할 수 있도록하여 내가 원하는 것을 얻을 수 있었다 그런 다음 구성하십시오. 나는이 시점을 정말로 신경 쓰지 않기 때문에이 질문을 끝내고있다.

답변

-1

마이크,

당신은 testng.xml에서 로그 수준을 조정할 수 있습니다

<suite verbose="3"... (up to 10) 

TestNG의는 Log4J를도주는 java.util.logging을 사용하지 않습니다.

+0

나는 당신이 오해했다고 생각합니다. 나는 TestNG의 로그 출력에 신경 쓰지 않는다; 내 응용 프로그램의 출력에 관심이 있습니다. –

+0

TestNG가 java.util.properties를 사용하지 않는 이유는 무엇입니까? 그것은 나에게 꽤 어리석은 것처럼 보인다. logging.properties 파일을 사용하여 java.util.logger 클래스를 구성하는 것은 Java 언어에 대해 널리 인정되는 표준이며 TestNG는이를 완전히 무시하고 있습니다. – ecbrodie

+0

TestNG에는 완전히 멋진 Reporter 클래스가 있습니다. 추가 파일 로깅이 필요한 경우 FileAppender로 프로젝트에 Log4j를 추가 할 수 있습니다. 그렇지 않으면 보고서 및 콘솔 출력에 Reporter 로거가 적합합니다. 그런데 "자세한"TestNG 옵션은 로그 수준 인자가 포함 된 Reporter.log 문을 실제로 기록한다면 의미가 있습니다. – djangofan

1

해결 방법이 있습니다. SRC/테스트/자원 사용자 정의 logging.properties를 만든 다음 셋업 호출, 등을로드 : TestNG를 그것을 약탈 한 후이 다시 구성 루트 로거에 나타납니다

@BeforeClass(alwaysRun = true) 
protected void setUp() throws SecurityException, IOException 
{ 
    FileInputStream fis = new FileInputStream(BaseRestTest.class.getResource("/logging.properties").getFile()); 
    LogManager.getLogManager().readConfiguration(fis); 
} 

합니다.

관련 문제