Documentation
¶
Overview ¶
Package middleware HTTP 요청/응답 로깅을 위한 미들웨어를 제공합니다.
이 패키지는 Echo 프레임워크와 통합되어 모든 HTTP 요청과 응답을 구조화된 로그로 기록합니다. 민감한 쿼리 파라미터는 자동으로 마스킹되어 보안을 유지합니다.
Index ¶
- func HTTPLogger() echo.MiddlewareFunc
- func PanicRecovery() echo.MiddlewareFunc
- type Logger
- func (l Logger) Debug(i ...interface{})
- func (l Logger) Debugf(format string, args ...interface{})
- func (l Logger) Debugj(j log.JSON)
- func (l Logger) Error(i ...interface{})
- func (l Logger) Errorf(format string, args ...interface{})
- func (l Logger) Errorj(j log.JSON)
- func (l Logger) Fatal(i ...interface{})
- func (l Logger) Fatalf(format string, args ...interface{})
- func (l Logger) Fatalj(j log.JSON)
- func (l Logger) Info(i ...interface{})
- func (l Logger) Infof(format string, args ...interface{})
- func (l Logger) Infoj(j log.JSON)
- func (l Logger) Level() log.Lvl
- func (l Logger) Output() io.Writer
- func (l Logger) Panic(i ...interface{})
- func (l Logger) Panicf(format string, args ...interface{})
- func (l Logger) Panicj(j log.JSON)
- func (l Logger) Prefix() string
- func (l Logger) Print(i ...interface{})
- func (l Logger) Printf(format string, args ...interface{})
- func (l Logger) Printj(j log.JSON)
- func (l Logger) SetHeader(string)
- func (l Logger) SetLevel(lvl log.Lvl)
- func (l Logger) SetOutput(w io.Writer)
- func (l Logger) SetPrefix(string)
- func (l Logger) Warn(i ...interface{})
- func (l Logger) Warnf(format string, args ...interface{})
- func (l Logger) Warnj(j log.JSON)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HTTPLogger ¶ added in v1.0.1
func HTTPLogger() echo.MiddlewareFunc
HTTPLogger HTTP 요청/응답 정보를 로깅하는 미들웨어를 반환합니다.
이 미들웨어는 다음 정보를 구조화된 로그로 기록합니다:
- 요청 정보: IP, 메서드, URI, User-Agent 등
- 응답 정보: 상태 코드, 응답 크기
- 성능 정보: 요청 처리 시간
- 민감 정보: 쿼리 파라미터의 민감 정보는 자동으로 마스킹됨
로그 필드:
- time_rfc3339: 요청 완료 시각 (RFC3339 형식)
- remote_ip: 클라이언트 IP 주소
- host: 요청 호스트
- uri: 요청 URI (민감 정보 마스킹됨)
- method: HTTP 메서드 (GET, POST 등)
- path: URL 경로
- referer: Referer 헤더
- user_agent: User-Agent 헤더
- status: HTTP 응답 상태 코드
- latency: 요청 처리 시간 (마이크로초)
- latency_human: 요청 처리 시간 (사람이 읽기 쉬운 형식)
- bytes_in: 요청 본문 크기 (바이트)
- bytes_out: 응답 본문 크기 (바이트)
- request_id: 요청 ID (X-Request-ID 헤더)
사용 예시:
e := echo.New() e.Use(middleware.HTTPLogger())
func PanicRecovery ¶ added in v1.0.1
func PanicRecovery() echo.MiddlewareFunc
PanicRecovery panic을 복구하고 로깅하는 미들웨어를 반환합니다.
이 미들웨어는 핸들러에서 발생한 panic을 복구하여 서버 다운을 방지하고, 스택 트레이스와 함께 에러를 로깅합니다.
Types ¶
type Logger ¶
Logger Echo의 log.Logger 인터페이스를 구현하는 Logrus 어댑터입니다. 이 어댑터 패턴을 통해 Echo 프레임워크가 Logrus를 사용하여 로깅할 수 있도록 합니다.
Echo는 자체 Logger 인터페이스(github.com/labstack/gommon/log.Logger)를 정의하고 있으며, 이 인터페이스의 모든 메서드를 구현해야 Echo와 통합할 수 있습니다. 아래의 메서드들은 대부분 Logrus의 해당 메서드로 단순 위임하는 보일러플레이트 코드입니다.
Click to show internal directories.
Click to hide internal directories.