Stdout Log
개요
stdout-log 정책은 API 요청 및 응답 데이터를 콘솔(표준 출력)에 기록하는 데 사용됩니다. 요청 처리 중 헤더, 본문 및 사용자 정의 필드에 대한 자세한 로깅을 제공합니다. 이는 특히 실패를 진단하거나 서비스 간 데이터 흐름을 추적할 때 디버깅 및 모니터링 목적으로 유용합니다. 그러나 대량의 요청/응답 페이로드를 로깅하면 성능 문제나 과도한 로그 양이 발생할 수 있으므로 주의가 필요합니다.
이 정책은 전체 본문, 헤더 또는 오류 응답만 선택적으로 로깅할 수 있으며, 사용자 정의 필드 주입 및 민감한 데이터 마스킹을 모두 지원합니다.
구성 세부정보
필드 | 유형 | 설명 |
---|---|---|
withBodyLog | 토글 | 활성화되면 요청 및 응답 본문을 모두 기록합니다. 대량의 로그 양이 발생할 수 있습니다. |
withHeaderLog | 토글 | 활성화되면 요청 헤더를 기록합니다. |
withErrorBodyLog | 토글 | 활성화되면 실패한 응답(HTTP 상태 코드 >= 300)에 대해서만 요청/응답 본문을 기록합니다. |
customFields | JSON 편집기 | 로그 데이터에 추가 사용자 정의 필드를 삽입할 수 있습니다. 값은 유효한 JSON이어야 합니다. 예: "request_uri": "xyz" |
maskingFields | 양식 | 개인 정보 보호를 위해 로그에서 마스킹할 필드를 정의합니다. 요청 본문, 응답 본문 또는 요청 헤더에 적용됩니다. withBodyLog 또는 withHeaderLog가 활성화되어야 합니다. |
노트
변경할 수 없음: 이 정책이 제거되지 않도록 방지하는 토글입니다.
설정 값 변경 불가: 설정 후 구성 값을 변경하지 못하도록 방지하는 토글입니다.
If withBodyLog 또는 withHeaderLog가 비활성화된 상태에서 마스킹이 여전히 활성화되어 있으면, 로깅 불일치를 피하기 위해 마스킹 규칙 제거를 제안하는 경고 모달이 나타납니다.
마스킹 필드 옵션
각 마스킹 규칙은 다음을 요구합니다:
- 유형: 요청 본문, 응답 본문 또는 요청 헤더 중 하나.
- 필드 이름: 마스킹할 필드 (예: account, phone).
- 마스킹 값: 필드를 대체할 값 (예: *** 또는 마스킹된 패턴).
사용자는 파란색 추가 버튼을 클릭하여 새 마스킹 필드를 추가하거나 해당 필드의 빨간색 빼기 버튼을 클릭하여 제거할 수 있습니다.
예제
모든 페이로드 로깅
"withBodyLog": true,
"withHeaderLog": true,
"withErrorBodyLog": false
- 모든 요청에 대해 요청 및 응답 본문과 모든 헤더를 로깅합니다.
- 개발 환경에 적합합니다.
오류 전용 로깅
"withErrorBodyLog": true
- 응답 상태가 300 이상일 때만 본문과 헤더를 로깅합니다.
- 중요한 오류를 캡처하면서 로그 양을 줄이는 데 도움이 됩니다.
로그의 사용자 정의 필드
{
"customFields": {
"request_id": "abc123",
"env": "staging"
}
}
- 각 로그 항목에 사용자 정의 메타데이터를 추가합니다.
민감한 정보 마스킹
유형 | 필드 | 마스킹된 값 |
---|---|---|
요청 본문 | account | ***** |
요청 본문 | phone | 010-- |
이 값들은 로깅된 요청/응답 본문 출력에서 자동으로 마스킹됩니다.