Skip to content

[CHORE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가#54

Merged
sunm2n merged 1 commit into
devfrom
chore/#53-logging-and-discord-webhook
Jun 3, 2026
Merged

[CHORE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가#54
sunm2n merged 1 commit into
devfrom
chore/#53-logging-and-discord-webhook

Conversation

@sunm2n

@sunm2n sunm2n commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

요약

데모 행사 중 발생하는 오류를 SSH 접속 없이 기록·확인하기 위한 로깅 기능을 추가했습니다.

  • JSON 파일 로깅: logback-spring.xml로 일 단위 롤링 JSON 로그 저장 (logs/app.jsonapp.YYYY-MM-DD.json, 7일 보관, logstash-logback-encoder)
  • 디스코드 에러 알림: 모든 ERROR 로그를 디스코드 웹훅으로 실시간 전송. URL 미설정 시 no-op, 분당 호출 제한, 비동기 처리로 요청 스레드 비차단
  • 로그 조회 엔드포인트: GET /internal/logs(목록), GET /internal/logs/{date}?level=ERROR&lines=N(조회). 기존 InternalApiKeyFilter로 자동 보호되어 X-Internal-Api-Key 헤더로 IntelliJ HTTP Client/브라우저에서 조회 가능

배포 전 필요한 env

  • DISCORD_WEBHOOK_URL: 디스코드 채널 웹훅 URL (compose backend env에 주입)
  • LOG_DIR: 선택, 기본 logs
  • INTERNAL_API_KEY: 기존 값 재사용

로그는 컨테이너 내부 /app/logs에 쌓여 재배포 시 이전 파일은 사라지지만, 디스코드 알림은 실시간이라 에러는 놓치지 않습니다. 영구 보관이 필요하면 추후 compose 볼륨 마운트(./logs:/app/logs)로 확장 가능합니다.

연관 이슈 및 Close 할 이슈 작성

close #53

Pull Request 체크리스트

TODO

  • 최종 결과물을 확인했는가?
  • 의미 있는 커밋 메시지를 작성했는가?

- logback-spring.xml로 일 단위 JSON 롤링 파일 로깅 구성 (logstash-logback-encoder)
- ERROR 로그를 디스코드 웹훅으로 실시간 전송하는 비동기 appender 추가 (분당 제한 포함)
- /internal/logs 내부 엔드포인트로 SSH 없이 로그 조회 (기존 내부 API 키로 보호)

IssueNum #53
@sunm2n sunm2n changed the title [Feat] 서버 로그 JSON 파일 기록 및 조회/디스코드 알림 추가 [FEATURE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가 Jun 3, 2026
@sunm2n sunm2n changed the title [FEATURE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가 [CHORE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가 Jun 3, 2026
@sunm2n sunm2n self-assigned this Jun 3, 2026
@sunm2n sunm2n added the chore 프로덕션 코드가 바뀌지 않고 개발 로직과 상관 없는 가벼운 일들 label Jun 3, 2026
@sunm2n
sunm2n merged commit cb7047f into dev Jun 3, 2026
1 check passed
@sunm2n
sunm2n deleted the chore/#53-logging-and-discord-webhook branch June 3, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore 프로덕션 코드가 바뀌지 않고 개발 로직과 상관 없는 가벼운 일들

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CHORE] 서버 로그 JSON 파일 기록 및 조회 및 디스코드 알림 추가

1 participant