У меня есть простая установка, чтобы войти сообщение: JDK 8 Update 65
и Eclipse Mars
Почему java.util.logging.Logger печатает в stderr?
import java.util.logging.Logger;
public class Example {
private final static Logger LOGGER = Logger.getLogger(Example.class.getName());
public static void main(String[] args) {
LOGGER.info("Test");
}
}
Я бы ожидать, чтобы получить выход на stdout
, так же, как с помощью System.out.println();
.
Но вместо он получает распечатаны на stderr
, что приводит к красным шрифтом на консоли Eclipse:
Я знаю, что я могу изменить это поведение, написав пользовательские Handler
, но я хотите знать, почему вывод по умолчанию появляется на stderr
вместо stdout
?
Регистратор должен использовать stdout
для fine
+ info
и использовать stderr
для severe
уровня.
У вас есть источник или доказательство этого утверждения? –
Извините, я должен был предоставить его в комментарии :) https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaLogging.html –
Что регистратор делает, что уже известно OP, вопрос: «почему». – Tom