From 9fd9e73d73d98120d9d0c3783eb81fe21380e875 Mon Sep 17 00:00:00 2001 From: kelly6bf Date: Thu, 26 Sep 2024 21:31:06 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20log=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../site/coduo/sync/service/SchedulerService.java | 14 ++++++++++++++ .../coduo/timer/controller/TimerController.java | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/site/coduo/sync/service/SchedulerService.java b/backend/src/main/java/site/coduo/sync/service/SchedulerService.java index 5f1dabae..cb958191 100644 --- a/backend/src/main/java/site/coduo/sync/service/SchedulerService.java +++ b/backend/src/main/java/site/coduo/sync/service/SchedulerService.java @@ -10,10 +10,12 @@ import org.springframework.stereotype.Component; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import site.coduo.timer.domain.Timer; import site.coduo.timer.repository.TimerRepository; import site.coduo.timer.service.TimestampRegistry; +@Slf4j @RequiredArgsConstructor @Component public class SchedulerService { @@ -27,15 +29,22 @@ public class SchedulerService { private final SseService sseService; public void start(final String key) { + log.info("[Timer] 2. 타이머 시작 메시지 전송."); sseService.broadcast(key, "timer", "start"); if (isInitial(key)) { + log.info("[Timer] 2-1. 타이머가 한 번도 시작되지 않음."); + log.info("[Timer] 2-2. DB에서 타이머 가저옴"); final Timer timer = timerRepository.fetchTimerByAccessCode(key) .toDomain(); + log.info("[Timer] 2-3. 스케줄링 시작"); scheduling(key, timer); + log.info("[Timer] 7. register() 시작!!!!!"); timestampRegistry.register(key, timer); return; } + log.info("[Timer] 8. 타이머를 시작한 사람이 이미 존재한다."); final Timer timer = timestampRegistry.get(key); + log.info("[Timer] 8-1. 스케줄링을 시작한다."); scheduling(key, timer); } @@ -44,13 +53,17 @@ private boolean isInitial(final String key) { } private void scheduling(final String key, final Timer timer) { + log.info("[Timer] 3. 시간 전송 시작!"); final Trigger trigger = new PeriodicTrigger(DELAY_SECOND); final ScheduledFuture schedule = taskScheduler.schedule(() -> runTimer(key, timer), trigger); schedulerRegistry.register(key, schedule); + log.info("[Timer] 6. 스케줄링 끝!!"); } private void runTimer(final String key, final Timer timer) { + log.info("[Timer] 4. 1초씩 전송!!"); if (timer.isTimeUp()) { + log.info("[Timer] 4-1. 타이머 끝!!"); stop(key); final Timer initalTimer = new Timer(timer.getAccessCode(), timer.getDuration(), timer.getDuration()); timestampRegistry.register(key, initalTimer); @@ -62,6 +75,7 @@ private void runTimer(final String key, final Timer timer) { } timer.decreaseRemainingTime(DELAY_SECOND.toMillis()); sseService.broadcast(key, "remaining-time", String.valueOf(timer.getRemainingTime())); + log.info("[Timer] 5. 타이머 끝!!, 남은 시간 : {}", timer.getRemainingTime()); } public void pause(final String key) { diff --git a/backend/src/main/java/site/coduo/timer/controller/TimerController.java b/backend/src/main/java/site/coduo/timer/controller/TimerController.java index d276c323..251ed45c 100644 --- a/backend/src/main/java/site/coduo/timer/controller/TimerController.java +++ b/backend/src/main/java/site/coduo/timer/controller/TimerController.java @@ -10,12 +10,14 @@ import org.springframework.web.bind.annotation.RestController; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import site.coduo.sync.service.SchedulerService; import site.coduo.timer.controller.docs.TimerDocs; import site.coduo.timer.service.TimerService; import site.coduo.timer.service.dto.TimerReadResponse; import site.coduo.timer.service.dto.TimerUpdateRequest; +@Slf4j @RequiredArgsConstructor @RestController public class TimerController implements TimerDocs { @@ -25,8 +27,9 @@ public class TimerController implements TimerDocs { @PatchMapping("/{accessCode}/timer/start") public ResponseEntity createTimerStart(@PathVariable("accessCode") final String accessCode) { + log.info("[Timer] 1. 타이머 시작!"); schedulerService.start(accessCode); - + log.info("[Timer] 9. 스케줄링 API 전체 종료"); return ResponseEntity.noContent() .build(); }