QueryPie Log Level Adjustment using change-log-level.sh

QueryPie Log Level Adjustment using change-log-level.sh

이 스크립트는 QueryPie의 다양한 컴포넌트들의 로그 레벨을 실시간으로 변경할 수 있도록 도와줍니다. 복잡한 설정 파일 수정 없이 명령 한 줄로 간편하게 로그 레벨을 조절할 수 있습니다.


🚀 어떤 컴포넌트들을 조절할 수 있나요?

아래 QueryPie 서비스들의 로그 레벨을 바꿀 수 있습니다:

  • api: API 서버

  • engine: 엔진 서비스

  • arisa: Arisa 서비스

  • kubepie: Kubepie 서비스

  • rotatepie: Rotatepie 서비스

  • novas: Novas 서비스


📝 사용 방법

터미널에서 아래와 같이 스크립트를 실행합니다.

./change-log-level.sh <로그_레벨> [컴포넌트] [타임아웃]

필수/선택 매개변수 설명

  • <로그_레벨> (필수): 설정하려는 로그 레벨을 입력합니다. (예: debug, info, 1, 2 등)

  • [컴포넌트] (선택): 로그 레벨을 변경할 특정 컴포넌트 이름을 입력합니다. 입력하지 않으면 모든 컴포넌트에 적용됩니다. (예: api, engine)

  • [타임아웃] (선택): 각 컴포넌트에 로그 레벨을 적용하는 HTTP 요청의 최대 대기 시간을 초 단위로 설정합니다. 기본값은 10초입니다.

어떤 로그 레벨을 사용할 수 있나요?

스크립트는 다음과 같은 로그 레벨을 지원합니다. 영문 이름이나 숫자 중 편한 것을 사용하세요.

입력값 (예시)

숫자 레벨

설명

입력값 (예시)

숫자 레벨

설명

t, trace

1

가장 상세한 로그 (모든 정보 출력)

d, debug

2

디버그에 필요한 정보

i, info

3

일반적인 정보성 메시지

w, warn

4

잠재적인 경고 상황

e, error

5

오류 메시지만 출력


💡 사용 예시

1. QueryPie 컨테이너 내부로 접근하기

docker exec -it querypie-app-1 /bin/bash

2. 모든 컴포넌트의 로그 레벨을 DEBUG로 설정하기

./change-log-level.sh debug

🚨 주의: 현재 cabinet 컴포넌트는 더 이상 사용되지 않으므로, 위 명령 실행 시 curl: (7) Failed to connect to localhost port 7445...와 같은 오류 메시지가 표시될 수 있습니다. 이는 무시해도 되며, 추후 스크립트에서 해당 오류가 발생하지 않도록 개선될 예정입니다. 특정 컴포넌트만 지정하여 사용하는 것을 권장합니다.

3. api 컴포넌트만 trace 레벨로 설정하기

./change-log-level.sh trace api

4. WARNING 레벨로 설정하고, 요청 타임아웃을 30초로 늘리기

./change-log-level.sh warn all 30

5. 숫자로 로그 레벨 설정하기 (engine 컴포넌트를 2 (DEBUG) 레벨로)

./change-log-level.sh 2 engine

🔑 컴포넌트별 로그 레벨 키워드 (참고)

각 컴포넌트가 내부적으로 사용하는 로그 레벨 키워드가 약간 다를 수 있습니다. 이 스크립트는 이를 자동으로 변환해 주기 때문에 사용자가 일일이 신경 쓸 필요는 없지만, 참고용으로 확인해 보세요.

  • api: TRACE, DEBUG, INFO, WARN, ERROR

  • engine, arisa: Verbose, Debug, Information, Warning, Error

  • kubepie, rotatepie, novas: trace, debug, info, warn, error


✨ 사용 전 준비사항

이 스크립트를 사용하려면 다음 조건이 필요합니다:

  • Bash 4.0 이상 버전이 설치되어 있어야 합니다.

  • curl 명령어가 설치되어 있어야 합니다.

  • 로그 레벨을 조절하려는 각 QueryPie 컴포넌트 서비스가 로컬에서 실행 중이어야 합니다.