Eclipse 프로젝트에 JUnit 클래스가 있습니다. 나는 모든 테스트를 실행하면, 나는 그런 [무시 정보의 클래스 정보]로 출력을 기다리고 있었다Java 프로그램 출력이 Eclipse 콘솔에서 임의의 위치에 인쇄됩니다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/*some other imports*/
public class _JunitTests{
final Logger logger = LoggerFactory.getLogger(_JunitTests.class);
public void test(int num){
logger.info("**** tests no."+num+" ***");
/* some code */
}
@Test
public static void test1() {
test(1);
}
@Test
public static void test2() {
test(2);
}
@Test
public static void test3() {
test(3);
}
@Test
public static void test1() {
test(1);
}
}
**** tests no.1 ***
/* somethings */
**** tests no.2 ***
/* somethings */
**** tests no.3 ***
/* somethings */
그러나, 콘솔에 표시된 결과는 일반적으로 : 그것은 다음과 같다 다음과 같이 엉망으로 작성하십시오.
**** tests no.1 ***
**** tests no.2 ***
**** tests
/* somethings */
no.3 ***
/* somethings */
/* somethings */
예외 메시지가있을 때 다른 코드가 많이 발생합니다.
이전에는 stderr이고 stdout은 다른 스레드에서 처리되었으므로 특정 순서없이 결과가 표시됩니다.
Logger의 정보가 Eclipse 콘솔에서도 빨간색이므로 내 메시지는 stderr를 사용하여 표시한다는 것입니다. 그럴까요? 그렇다면, 엉망인 주문의 문제를 해결할 수있는 방법이 있습니까? 감사.
오, 다른 출력 메시지는'System.out.println()'에 의해 생성됩니다. stdout과 동기화되도록 SLF4J를 구성 할 수 있습니까? – Will
SLF4J는 다수의 로깅 프레임 워크에 대해 균일 로깅 API로 사용되는 facade API입니다. 구성은 사용중인 로깅 프레임 워크에서 이루어져야합니다. 예 : logback 또는 log4j. 구성을 만드는 방법은 시스템에서 사용하는 로깅 프레임 워크에 따라 다릅니다. – glerup
알겠습니다. 고마워요. 그냥 광산이 '단순'바인딩이라는 것을 알았습니다. 기본값은 [stdersr'에 출력] (http://www.slf4j.org/apidocs/org/slf4j/impl/SimpleLogger.html)입니다. – Will