Grails 3 использует Logback в качестве библиотеки журналов и поддерживает замену переменных, что делает регистрацию намного более эффективной.
Часто пользователи регистрируют такие сообщения, как
log.debug('found ' + items.size() + ' items: ' + items)
Это дорого, потому что выражение объединяется в одну строку перед вызовом debug()
, и если уровень этого регистратора не DEBUG или TRACE, то ничего не будет зарегистрировано, поэтому, если объединенная строка является большой (или если это часто называют) тогда эта работа теряется. Вы можете заключить звонок в активированную проверку:
if (log.isDebugEnabled()) {
log.debug('found ' + items.size() + ' items: ' + items)
}
но это загромождает ваш код. Хотя с Logback вам гораздо лучше:
log.debug('found {} items: {}', items.size(), items)
Теперь вы просто передаете простую строку плюс два аргумента для интерполяции в указанных позициях, но только если инструкция уровня log включена для уровня регистратора. Если нет, то звонок почти не работает.
Для вашего оператора регистрации вы должны сделать это вместо:
log.info('{}', resp.statusLine)
или
log.info('Status: {}', resp.statusLine)