Skip to content

fix: Slack 서버 에러 알림에서 4xx 비즈니스 예외 제외 - #470

Merged
pooreumjung merged 1 commit into
developfrom
fix/#469-exclude-4xx-slack-alert
Sep 4, 2026
Merged

pooreumjung merged 1 commit into
developfrom
fix/#469-exclude-4xx-slack-alert

Conversation

@pooreumjung

@pooreumjung pooreumjung commented Sep 4, 2026

Copy link
Copy Markdown
Member

#️⃣ Issue Number

📝 요약(Summary)

  • ControllerLogAspect가 컨트롤러에서 발생한 모든 예외를 종류 구분 없이 Slack SERVER_ERROR 채널로 전송하고 있어, 4xx 비즈니스 예외(BaseException)까지 서버 에러 알림 노이즈로 쌓이던 문제를 수정했습니다.
  • BaseResponseStatus에 이미 정의돼 있었지만 어디서도 호출되지 않던 sendSlackNotification(status)(is5xxServerError() 기준) 헬퍼를 ControllerLogAspect.shouldNotifySlack()에 연결해, BaseException이면서 상태가 4xx인 경우만 알림을 생략하도록 했습니다. BaseException이 아닌 예외(미처리 런타임 예외)와 5xx BaseException은 기존과 동일하게 전송됩니다.

💬 공유사항 to 리뷰어

  • 기존 테스트 컨트롤러_예외를_슬랙에_알리고_다시_던진다가 404(NOT_FOUND_MENU)로 Slack 알림 발생을 검증하고 있었는데, 이번 변경으로 4xx는 알림 대상에서 빠지므로 해당 테스트를 5xx(INTERNAL_SERVER_ERROR)로 교체하고, 4xx는 알림이 가지 않음을 검증하는 테스트(doesNotNotifySlackFor4xxBusinessException)를 새로 추가했습니다.
  • rate-limit/dedup(동일 예외 반복 시 알림 억제), 배포 단계 헬스체크는 이번 PR 범위에 포함하지 않았습니다(별도 이슈로 분리 예정).
  • server.env=prod에서만 실제 Slack 전송이 발생하므로 운영 영향은 다음 배포 이후 실제 알림 채널에서 확인이 필요합니다.

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다.
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트).

@pooreumjung pooreumjung added the fix 고치기 label Sep 4, 2026
@pooreumjung pooreumjung self-assigned this Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

📊 테스트 커버리지 리포트

Overall Project 95.6% 🍏
Files changed 100% 🍏

File Coverage
ControllerLogAspect.java 98.4% 🍏

@pooreumjung
pooreumjung merged commit 1b98572 into develop Sep 4, 2026
1 check passed
@pooreumjung
pooreumjung deleted the fix/#469-exclude-4xx-slack-alert branch September 4, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix 고치기

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: Slack 서버 에러 알림에서 4xx 비즈니스 예외 제외

1 participant