У меня есть класс JUnit в проекте Eclipse. Это похоже на следующее:Выход программы 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 */
Однако, результат, показанный в консоли, как правило, messed up like:
**** tests no.1 ***
**** tests no.2 ***
**** tests
/* somethings */
no.3 ***
/* somethings */
/* somethings */
Это случается очень часто с другими моими кодами, когда есть сообщения об исключении.
Мое предположение: stderr и stdout обрабатываются в разных потоках, поэтому результат будет отображаться без определенного порядка.
Поскольку информация от Logger также красная на консоли Eclipse, я предполагаю, что она использует stderr для отображения сообщения? это так? если да, то есть ли способ решить проблему перепутанного порядка? Благодарю.
О, другие выходные сообщения производятся только 'System.out.println()'. Могу ли я настроить SLF4J на синхронизацию с stdout? – Will
SLF4J - это API-интерфейс фасада, который служит в качестве единого API протоколирования для большого количества фреймворков регистрации. Конфигурация должна быть выполнена в используемой вами структуре ведения журнала. Это может быть, например, logback или log4j. Как настроить конфигурацию зависит от того, какую структуру ведения журнала вы используете в своей системе. – glerup
Получил, спасибо. Просто выяснили, что моя - это «простая» привязка, по умолчанию она «выводится на stderr» (http://www.slf4j.org/apidocs/org/slf4j/impl/SimpleLogger.html). – Will