Начиная с 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 репозиторий.