Логгер использует один и тот же цвет для всего вывода - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь настроить slf4j.
Когда я просто печатаю информацию и ошибку, я получаю следующий вывод:

FATAL:   [http-thread-pool::http-listener-1(5)] INFO com.company.myclass - this is an information  
FATAL:   [http-thread-pool::http-listener-1(5)] ERROR com.company.myclass - this is an error

За исключением слов INFO иERROR, есть похожие, они даже одного цвета - красные.

Действительно ли это желаемый результат?
Разве INFO не должен иметь другого цвета, чтобы их можно было отделить друг от друга?

Это мой код:

Logger log = LoggerFactory.getLogger(this.getClass());

log.info("this is an information");
log.error("this is an error");

Я добавил эту зависимость Maven: SLF4J Simple Binding »1.7.25 .

1 Ответ

0 голосов
/ 22 января 2019

Вы получаете сообщение красного цвета, потому что slf4j-simple по умолчанию использует System.err в качестве вывода по умолчанию, когда logFile не определено private static String LOG_FILE_DEFAULT = "System.err"; Вы можете проверить его на исходный код .

Если вы хотите, чтобы ваши сообщения печатались белым цветом, вы можете указать свой вывод, используя следующий аргумент -Dorg.slf4j.simpleLogger.logFile=System.out, в этом случае System.err будет заменено на System.out.

Если вместо этого вы выберете другую библиотеку журналов, такую ​​как Log4j, и предоставите файл конфигурации, вы заметите, что журналы также будут отображаться белым цветом.

...