피드로 돌아가기
Dev.toDevOps
원문 읽기
개발자가 여러 서비스에 흩어진 로그를 request_id 기반으로 검색하고 시간순으로 정렬하는 reqlog CLI 도구를 구현했다
How I Debug Logs Across Services (and Why I Built a CLI Tool)
AI 요약
Context
로컬이나 스테이징 환경에서는 중앙 집중식 로깅 시스템이 없어서 여러 터미널을 열고 grep 명령으로 분산된 로그 파일을 검색해야 했다. request_id를 반복 복사粘贴하면서 수동으로 로그 흐름을 연결하는 번거로운 과정이 필요했다.
Technical Solution
- reqlog CLI 도구로 로그 디렉토리를 재귀적으로 탐색하여 request_id 같은 키로 필터링
- 일반 텍스트와 JSON 포맷의 로그를 동시에 처리하고 시간순으로 정렬된 타임라인 출력
- --service 옵션으로 특정 서비스만 필터링하고 --since 옵션으로 시간 범위 제한 가능
- --follow 옵션으로 실시간 로그 스트림 추적 기능 제공
- 기존 grep 명령보다 구조화된 출력으로 서비스 간 요청 흐름 파악 용이
Impact
900만 줄 이상의 로그에서 검색이 수 초 내에 완료된다. JSON 파싱과 정렬 작업이 오버헤드를 발생시키지만调试에 유용한 출력 구조를 생성한다.
Key Takeaway
복잡한 관찰 도구와 단순한 grep 명령 사이에 위치하는 가벼운 도구도 실제 개발 효율성을 크게 높일 수 있다.
실천 포인트
마이크로서비스 환경에서 request_id 추적 시 reqlog로 여러 서비스 로그를 통합 타임라인으로 확인하면 서비스 간 요청 흐름 파악이 빨라진다