Spring Boot 2.3.1
веб-приложение, использующее регистратор (по умолчанию Logback
), конфигурация как в https://www.baeldung.com/logback
Шаблон определяется в приложении, например:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n</pattern>
</encoder>
</appender>
В коде, когда я вызываю, например, LOGGER.info("My message")
, значение "My message"
ist сопоставляется с %msg
в шаблоне. Другие заполнители в шаблоне, такие как %thread
, %level
и т. д., получают значения автоматически.
В контроллере REST в методе запроса я также хотел бы регистрировать некоторые значения из HttpServletRequest
, такие как удаленный адрес и т. д.
Могу ли я передать значения HttpServletRequest
(например, request.getMethod()
, request.getPathInfo()
), чтобы они сопоставлялись с некоторыми заполнителями в шаблоне? Например, %ip (remote address)
, %method (method like GET, POST, etc.)
или %path (path info)
и т. д.
Например, определение шаблона:
<pattern>%d{HH:mm:ss.SSS} %method %pathinfo %ip %msg %n</pattern>