Skip to content

Bỏ quên log khiến debug mất cả ngày

Tình huống

API không trả về lỗi, nhưng user lại không nhận được email. Đọc lại lần nữa nhé: API báo chạy ngon, nhưng user kêu không thấy notification đâu cả. Một sự im lặng đáng sợ. 😱

Bối cảnh

Mình xây dựng hệ thống quản trị task tương tự như Jira. Quy tắc vận hành như sau:

Nghe thì đơn giản, nhưng drama ở chỗ: Sau khi tạo task và đổi status ngay lập tức → có user không nhận được notification.

Càng đau hơn: Trên dev và staging thì không thể tái hiện được lỗi này.

Vấn đề

Logging lúc đó… sơ sài như ghi nhật ký mà chỉ ghi mỗi ngày/tháng. Không có context: không biết notification đã bắn cho ai, user nào được link, thứ tự chạy step ra sao. Kết quả là: debug như mò kim đáy bể.

Giải pháp

Ban đầu, cả team đoán già đoán non: nào là lỗi queue, nào là config mailer, nào là race condition. Nhưng không log → không bằng chứng → chỉ là đoán mò.

Cuối cùng team quyết định bổ sung logger:

Và rồi sự thật hé lộ: Hóa ra user chỉ được link tới task sau khi task đã đổi status. Vậy nên notification đã được bắn đi… nhưng danh sách người nhận chưa đủ!

Bài học

Logging không phải để “cho có”. Nó là công cụ chẩn đoán, là ánh sáng soi đường giữa bóng tối bug.

Đừng coi thường logging, nếu không bạn sẽ phải trả giá bằng… một ngày debug đau khổ. (Trong trường hợp của mình là nguyên ngày Chủ Nhật 😭).


👉 Lời khuyên chân thành: Log có context, log đủ detail, và hãy log như thể ngày mai bạn sẽ phải debug chính mình.


Share this post on:

Previous Post
Cẩn trọng khi thao tác database production