You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
개발 서버는 보통 DEBUG 로그를 사용하지만, 운영 서버는 보통 요청이 아주 많다. 따라서 로그도 너무 많이 남기 때문
에 DEBUG 로그까지 모두 출력하게 되면 성능이나 디스크에 영향을 주게 된다. 그래서 운영 서버는 중요하다고 판단되
는 INFO 로그 레벨을 사용한다.
그런데 서비스 운영중에 문제가 있어서 급하게 DEBUG 나 TRACE 로그를 남겨서 확인해야 확인하고 싶다면 어떻게 해야할까? 일반적으로는 로깅 설정을 변경하고, 서버를 다시 시작해야 한다.
loggers 엔드포인트를 사용하면 애플리케이션을 다시 시작하지 않고, 실시간으로 로그 레벨을 변경할 수 있다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
애플리케이션 정보
기본으로 제공하는 기능은 다음과 같다.
env, java, os는 기본으로 비활성화 되어 있다.
application.yml - 내용 추가
실행 결과

env
application.yml - 내용 추가
실행 결과

build
build.gradle - 빌드 정보 추가
실행 결과

git
build.gradle -git 정보 추가
이렇게 하고 빌드를 해보면 build 폴더안에 resources/main/git.properties 파일을 확인할 수 있다.

실행 결과

커밋이나 다른 브랜치의 내용이 배포된 경우가 종종 있다. 이럴 때 큰 도움이 된다.
git에 대한 더 자세한 정보를 보고 싶다면 다음 업숀을 적용하면 된다.
application.yml 추가
로거
아보자.
LogController 생성
application.yml 설정
결과 로그

configuredLevel 가 INFO 인 것을 확인할 수 있다. 따라서 그 하위도 모두 INFO 레벨이 적용된다.
더 자세히 조회하기
다음과 같은 패턴을 사용해서 특정 로거 이름을 기준으로 조회할 수 있다.
http://localhost:8080/actuator/loggers/{로거이름}결과
실시간 로그 레벨 변경
에 DEBUG 로그까지 모두 출력하게 되면 성능이나 디스크에 영향을 주게 된다. 그래서 운영 서버는 중요하다고 판단되
는 INFO 로그 레벨을 사용한다.
다음을 Postman 같은 프로그램으로 POST로 요청해보자(꼭! POST를 사용해야 한다.)
POST http://localhost:8080/actuator/loggers/hello.controller
POST로 전달하는 내용 JSON , content/type 도 application/json 으로 전달해야 한다.
GET으로 요청해서 확인해보면 configuredLevel 이 TRACE 로 변경된 것을 확인할 수 있다.
GET http://localhost:8080/actuator/loggers/hello.controller
호출 결과
{ "configuredLevel": "TRACE", "effectiveLevel": "TRACE" }HTTP 요청 응답 기록
InMemoryHttpExchangeRepository 추가
액츄에이터와 보안
보안 주의
액츄에이터를 다른 포트에서 실행
츄에이터에 다른 포트를 설정하면 된다.
8080 포트에서는 액츄에이터를 접근할 수 없다.
액츄에이터 포트 설정
management.server.port=9292액츄에이터 URL 경로에 인증 설정
터, 또는 스프링 시큐티리를 통해서 인증된 사용자만 접근 가능하도록 추가 개발이 필요하다.
엔드포인트 경로 변경
application.yml
/acutuator/{엔드포인트}대신에/manage/{엔드포인트}로 변경되었다.Beta Was this translation helpful? Give feedback.
All reactions