Как записать многострочный текст в Logback / SLF4J? - PullRequest
7 голосов
/ 25 февраля 2012

Я хочу регистрировать «довольно напечатанный» XML с помощью Logback / SLF4J.Прямо сейчас, то, что я получаю в журналах, совершенно нечитаемо, и я должен открыть что-то, чтобы разобрать это.Я хочу иметь возможность настроить ведение журнала для отладки (потому что я хочу видеть XML только в отладке) для вывода XML понятным для человека способом.

Возможно ли это?

1 Ответ

13 голосов
/ 25 февраля 2012

Просто добавьте новую строку \n в операторе журнала:

log.info("Message id: {}\nContents: {}", id, xml);

ОБНОВЛЕНИЕ: Чтобы красиво печатать XML, взгляните на: Как красиво печатать XML из Java? .Следует иметь в виду, что нет необходимости выполнять дорогостоящее форматирование, если XML не будет фактически напечатан.Поэтому это один из редких случаев, когда следует использовать is*Enabled():

if(log.isInfoEnabled())
  log.info("Message: {}", prettyFormat(xml));
...