регистратор slf4j не печатает полное имя пакета - PullRequest
1 голос
/ 30 мая 2019

У меня есть проект с некоторыми классами, использующими org.slf4j.Logger для регистрации некоторой информации.Регистраторы во всех других классах работают нормально и печатают полное имя класса, например, INFO com.myapp.gca.servlet.LoginServlet - Entering login.Но для одного класса он не печатает полное имя класса, например, INFO c.m.gca.servlet.HealthCheckServlet - GCA health check OK, где com.myapp. заменяется на c.m..

Я не мог найти никаких отличий в этом конкретном классе от других.Регистратор определяется как

 private static Logger log = LoggerFactory.getLogger(HealthCheckServlet.class);

В чем может быть причина?

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Использовать% logger {26} в шаблоне в logback.xml.

Подробнее см. По этой ссылке.

https://logback.qos.ch/manual/layouts.html

0 голосов
/ 31 мая 2019

См. Таблицу Conversion Word в официальной документации. Необходимо настроить регистратор на длину не менее 40 из-за объединенной длины имени пакета и класса:

%logger{40}

Однако лучше будет %logger, в котором всегда указывается полное имя.

...