Начиная с Spring Boot 1.5, новая конечная точка привода loggers
позволяет просматривать и изменять уровни журналирования приложений во время выполнения.
- Добавьте
spring-boot-actuator
в ваш проект
1
2
3
4
|
< dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-actuator</ artifactId > </ dependency > |
- Отключить защиту для
loggers
или для всех конечных точек
Задайте для параметра management.security.enabled
значение false
или для endpoints.loggers.sensitive
значение false
чтобы отключить защиту. Обратите внимание, что последний изменяет только конечную точку loggers
.
- Получить все данные регистраторов
Выполнение /loggers
конечной точки в браузере или с помощью curl
. Вы получите подробное представление о конфигурации регистраторов, например (фрагмент):
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
{ "levels" : [ "OFF" , "ERROR" , "WARN" , "INFO" , "DEBUG" , "TRACE" ], "loggers" : { "ROOT" : { "configuredLevel" : "TRACE" , "effectiveLevel" : "TRACE" }, "org" : { "configuredLevel" : null , "effectiveLevel" : "TRACE" }, "pl.codeleak.demos.sbt" : { "configuredLevel" : null , "effectiveLevel" : "TRACE" }, "pl.codeleak.demos.sbt.Application" : { "configuredLevel" : null , "effectiveLevel" : "TRACE" } } } |
- Получить данные выбранного регистратора
Используйте следующую конечную точку для получения сведений о выбранном регистраторе:
1
|
/logger/{logger} |
Примеры:
01
02
03
04
05
06
07
08
09
10
11
12
13
|
λ curl -i http: //localhost:8080/loggers/ROOT { "configuredLevel" : null , "effectiveLevel" : "TRACE" } λ curl -i http: //localhost:8080/loggers/pl.codeleak.demos { "configuredLevel" : null , "effectiveLevel" : "TRACE" } |
- Обновить выбранный уровень журнала во время выполнения
Выполнить запрос POST
:
1
|
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "TRACE"}' http: //localhost:8080/loggers/ROOT |
Исходный код
Пример конфигурации можно найти в https://github.com/kolorobot/spring-boot-thymeleaf репозиторий.