2011-12-03 7 views
2

gradun으로 junit 테스트를 실행할 때 로깅 출력을 표시하는 방법에 대한 좋은 정보를 찾는 데 많은 어려움이 있습니다. Logger 독립적 인 상태를 유지하기 위해 Apache 프로젝트를 로깅하는 Apache를 사용합니다. 테스트에서 commons-logging 메시지를 전달합니다.

지금 나는이 발견,하지만 정말 아무것도 설명하지 않습니다 http://gradle.org/loggingGradle java.util.logging.Logger output in unit tests

내가 어떻게 Gradle을 작업에서 로그인하는 방법을 잘 이해를 얻을 수 있지만, 내 테스트에서 로깅 메시지를 표시하지 않는 방법에 대해 설명합니다.

gradle -i도 내가 찾고있는 것이 아닙니다. 그게 나에게 테스트에 관한 약간의 정보를 주지만, 로깅 출력을 내게주지는 않는다.

올바른 방향으로 어떤 힌트를 주셔서 감사합니다.



편집 (가 베드로의 대답에 꽤 오랜 응답이기 때문에 여기에 그 일) :

test { 
testLogging.showStandardStreams = true 
} 

좀, 일 추가. 이것은 Gradle 1.0-milestone-6 기능이므로 Gradle을 먼저 업그레이드해야했습니다. 그런 다음 src/test/java 폴더에있는 log4j.properties를 찾을 수 없습니다. 추가

sourceSets.test.runtimeClasspath += files(sourceSets.test.java.srcDirs) 

을 build.gradle 파일에 추가하면 경고 메시지가 표시되지만 최소한 로깅 결과는 표시되지 않습니다. 내의 log4j.xml은 문제가되지 않습니다, 그것은 IDE에서 근무 : 그냥 완성도를 위해서

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
</appender> 


<root> 
    <priority value="info"/> 
    <appender-ref ref="console"/> 
</root> 

</log4j:configuration> 

, 나는 showStandardStream을 봤과 내가 함께 시작 발견해야하는 정보를 발견 http://gradle.org/current/docs/dsl/org.gradle.api.tasks.testing.Test.html

질문 여전히 열려,하지만, 그것은 작동 :) 보이지 않았기 때문에

EDIT2 :

이제 gradle test -i를 인쇄 로깅 정보를 출력. 정확히 내가 찾고 있었던 것은 아니지만 (그라데이션 로깅과 혼합되어 있기 때문에), 이것으로 충분합니다.

답변

2

true으로 설정 한 다음 테스트 기록이 표준 출력으로 인쇄되도록 할 수 있습니다. 이렇게하면 로그 출력이 명령 줄과 테스트 보고서에 모두 표시됩니다.

+0

힌트를 보내 주셔서 감사합니다. 위의 내 대답을 참조하십시오 (꽤 길기 때문에 거기에 배치해야했습니다). – rweng

관련 문제