Support Logging
KumKeeHyun opened this issue · 1 comments
KumKeeHyun commented
방향
막 거창하게 로그 수집, 집계, 시각화 까지는 하지 않고 그냥 서비스 레벨에서 파일에 로그를 남기는 정도만 진행하려 한다. 왜냐면 로그를 남기는 것도 처음해보기 때문에.. ㅎㅎ. 그래서 로그를 왜, 어떻게 남겨야 하는지, 로그 구성, 레벨 등등을 좀 공부해야 한다. 나중에 시간이 남는다면 Kafka
, Elastic Stack
을 이용해서 로그 수집, 시각화까지 해보기로 하자.
사용할 패키지
- zap
- 거의 모든 마이크로서비스를
Golang
으로 작성할 예정이라서 이것만 알아보았다. - zap의 주장에 따르면 go의 다른 로그 패키지들보다 성능이 아주 좋다고 한다. 우버니까 믿고 사용해보려 한다.
- 로그 인코딩 형식, 세부 설정을 커스텀 할지는 좀 고민해봐야 겠다. 이 프로젝트가 로깅이 주요 목적이 아니라서 어느정도 타협해가면서 진행하려 한다.
- 사용하는 방법 참고할 프로젝트
- 거의 모든 마이크로서비스를
공부자료 링크
KumKeeHyun commented
gin에 zap logger 사용하기
import ginzap "github.com/gin-contrib/zap"
...
r := gin.New()
logger, _ := zap.NewProduction()
r.Use(ginzap.Ginzap(logger, time.RFC3339, true))
r.Use(ginzap.RecoveryWithZap(logger, true))