로깅
Gin에는 각 HTTP 요청에 대한 상태 코드, HTTP 메서드, 경로, 지연 시간 등의 세부 정보를 기록하는 내장 로거 미들웨어가 포함되어 있습니다.
gin.Default()로 라우터를 생성하면, 로거 미들웨어가 복구 미들웨어와 함께 자동으로 부착됩니다:
// Logger와 Recovery 미들웨어가 이미 부착되어 있습니다router := gin.Default()어떤 미들웨어를 사용할지 완전히 제어하려면 gin.New()로 라우터를 생성하고 로거를 수동으로 추가하세요:
// 미들웨어가 부착되지 않음router := gin.New()
// 로거 미들웨어 부착router.Use(gin.Logger())기본 로거는 os.Stdout에 기록하며 각 요청에 대해 다음과 같은 출력을 생성합니다:
[GIN] 2025/06/01 - 15:04:05 | 200 | 512.345µs | 127.0.0.1 | GET "/ping"각 항목에는 타임스탬프, HTTP 상태 코드, 요청 지연 시간, 클라이언트 IP, HTTP 메서드, 요청된 경로가 포함됩니다.
이 섹션의 내용
- 로그 파일 작성 — 로그 출력을 파일, 콘솔 또는 두 곳 모두에 리다이렉트합니다.
- 커스텀 로그 형식 —
LoggerWithFormatter를 사용하여 자체 로그 형식을 정의합니다. - 로깅 건너뛰기 — 특정 경로나 조건에 대한 로깅을 건너뜁니다.
- 로그 출력 색상 제어 — 색상이 적용된 로그 출력을 활성화하거나 비활성화합니다.
- 쿼리 문자열 로깅 방지 — 보안 및 개인 정보 보호를 위해 로그 출력에서 쿼리 매개변수를 제거합니다.
- 라우트 로그 형식 정의 — 시작 시 등록된 라우트가 출력되는 방식을 커스터마이즈합니다.