오늘은 Actuator를 이용한 Dynamic Log에 대해서 알아보도록 하겠습니다.
Actuator를 이용하여 SpringBoot Log 레벨을 설정한다면, 매우 다이내믹하게 사용이 가능합니다.
curl -X "POST" "http://localhost:8080/actuator/loggers/ROOT"
-H "Content-Type: application/json; charset=utf-8"
-d $'{ "configuredLevel": "DEBUG" }'
이러한 주소 하나를 호출하는 것만으로 실행 중인 어플리케이션으로 Log Level을 변경해줄 수 있습니다.
해당 설정을 하기 위해서는 build.gadle 또는 pom.xml에 actuator를 빌드하셔야 사용 가능합니다.
dependencies {
implementation("org.springframework.boot:spring-boot-starter-actuator")
}
설정 다음에 application.yml에 간단한 actuator endpoint를 노출만 시켜주면 됩니다.
management:
endpoints:
web:
exposure:
include: loggers
loggers:
enabled: true
해당 메소드에 대해서 처음 level을 Info로 넣고 돌리면 아래와 같은 결과가 나오지만,
아래의 명령어를 입력하여 실행을 한 다음에 위의 callLogRainbow를 다시 실행을 하면,
curl -X "POST" "http://localhost:8080/actuator/loggers/ROOT"
-H "Content-Type: application/json; charset=utf-8"
-d $'{ "configuredLevel": "DEBUG" }'
이렇게 DEBUG 로그까지 찍히게 됩니다.
이상이에요~
저는 오늘.. 요가 대신 밖에서 뛰고 오려구요! 뛰고 올게요!
해당 소스는 https://github.com/Flamme1004K/Spring-API-AOP-Logging 에서 볼 수 있습니다.
'Spring' 카테고리의 다른 글
[Spring] elasticsearch-rest-client 8.5.3에 opensearch 연결하기 (1) | 2023.01.30 |
---|---|
SpringBoot LogBack 간단설정 (0) | 2021.06.07 |
SpringBoot Kotlin Log(AOP/Filter) (0) | 2021.06.06 |
@Transactional 사용 시 주의해야하는 8가지 (0) | 2021.03.21 |
@Transactional을 아시나요? (0) | 2021.03.21 |