Skip to content

fix(logging): inject user_email into structured log output - #94

Merged
wonzz merged 1 commit into
mainfrom
fix/loki-log-user-email
Jul 3, 2026
Merged

wonzz merged 1 commit into
mainfrom
fix/loki-log-user-email

Conversation

@0206pdh

@0206pdh 0206pdh commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • VOC UI Pod Logs(Loki) 탭에서 user.email로 검색해도 결과가 안 나오던 문제 수정
  • user.email은 지금까지 OTel span attribute로만 기록되어(feat(observability): HTTP span and SQS PRODUCER span user.id #91) OpenSearch 트레이스 검색에서는 동작했지만, stdout 로그 라인 텍스트에는 없어서 Loki의 |= 텍스트 검색으로는 찾을 수 없었음
  • get_current_user()에서 인증된 요청마다 ContextVar에 이메일을 저장하고, OtelJsonFormatter가 매 로그 엔트리에 user_email 필드로 포함시키도록 변경

Test plan

  • 로컬에서 인증된 요청 실행 후 stdout JSON 로그에 "user_email": "..." 필드가 찍히는지 확인
  • 동시 요청 시 다른 유저의 이메일이 섞이지 않는지 확인 (ContextVar가 요청별로 격리되는지)
  • 배포 후 VOC UI Pod Logs에서 user.email 검색으로 실제 로그가 조회되는지 확인

VOC UI의 Pod Logs(Loki) 검색이 user.email로 조회되지 않는 문제 수정.
기존에는 user.email이 OTel span attribute로만 기록되어 OpenSearch
트레이스 검색에서만 사용 가능했고, stdout 로그 라인 텍스트에는
찍히지 않아 Loki의 |= 텍스트 검색으로는 찾을 수 없었다.

get_current_user()에서 인증된 요청마다 ContextVar에 user_email을
저장하고, OtelJsonFormatter가 로그 엔트리에 이를 포함시키도록 함.
@wonzz
wonzz self-requested a review July 3, 2026 03:14
@wonzz
wonzz merged commit c9f79c7 into main Jul 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants