Skip to content

Task 1-1: Log Level Cleanup - viewer-get-livestream

Phase: 1 Priority: Low Module: livestreamweb Depends on: Không có Reference: docs/BountyHunter-Backend/details/feature-livestream/SPEC.md

Background

LivestreamController.viewerGetLivestreamById() dùng LOGGER.error() cho performance debug logs. Điều này gây noise trong production error monitoring và làm khó phân biệt error thực sự.

Tasks

File: livestreamweb/controllers/livestream/LivestreamController.java

DI Note: LivestreamController cần inject LivestreamService (hoặc tương đương) để gọi query. Đảm bảo logger được khai báo là private static final Logger LOGGER = LoggerFactory.getLogger(LivestreamController.class); (SLF4J) hoặc dùng Lombok @Slf4j.

  • [ ] Replace tất cả LOGGER.error("##### [viewer-get-livestream] ...")LOGGER.debug(...)
  • [ ] Bỏ prefix ##### vì không cần thiết với debug level — giữ prefix [viewer-get-livestream] để dễ grep logs
  • [ ] Giữ nguyên LOGGER.error() cho exception paths thực sự (catch blocks và unexpected states)
  • [ ] Cập nhật format: log elapsed dưới dạng elapsed={}ms (thêm đơn vị ms) để dễ đọc
// Trước:
LOGGER.error("##### [viewer-get-livestream] 1 Started for livestreamId={}, userId={}", id, loginUserId);
LOGGER.error("##### [viewer-get-livestream] 2 After query livestream={}", elapsed);

// Sau:
LOGGER.debug("[viewer-get-livestream] Started for livestreamId={}, userId={}", id, loginUserId);
LOGGER.debug("[viewer-get-livestream] After query elapsed={}ms", elapsed);

Verification / Acceptance Criteria

  • [ ] Không còn LOGGER.error("##### [viewer-get-livestream]") nào trong LivestreamController.java
  • [ ] Search LOGGER.debug("[viewer-get-livestream]" tồn tại thay thế
  • [ ] Exception paths (catch blocks) vẫn dùng LOGGER.error()
  • [ ] Application khởi động thành công sau thay đổi (mvn spring-boot:run)
  • [ ] Với logging.level.com.figpop.livestreamweb=DEBUG → debug logs hiển thị; với level INFO → không hiển thị performance logs

Files to Modify

  • livestreamweb/src/main/java/com/figpop/livestreamweb/controllers/livestream/LivestreamController.java