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>
В коде, когда я вызываю ie LOGGER.info("My message")
, значение "My message"
отображается в %msg
в шаблоне. Другие заполнители в шаблоне, например %thread
, %level
, и т. Д. c. получают значения автоматически.
В контроллере REST в рамках метода запроса я также хотел бы регистрировать некоторые значения из HttpServletRequest
, например удаленный адрес, et c.
Могу ли я передать значения HttpServletRequest
(например, request.getMethod()
, request.getPathInfo()
), чтобы они были сопоставлены с некоторыми заполнителями в шаблоне? Например, %ip (remote address)
, %method (method like GET, POST, etc.)
или %path (path info)
, и т.д. c.
Как определение шаблона:
<pattern>%d{HH:mm:ss.SSS} %method %pathinfo %ip %msg %n</pattern>