قوانین Logging
Log برای debugging production و audit فنی است. log نباید به محل dump داده خام تبدیل شود.
Log Level
debug: فقط local یا troubleshooting کنترلشدهinfo: رخدادهای مهم و موفقwarning: رفتار غیرعادی قابل ادامهerror: خطای نیازمند بررسیcritical: اختلال جدی در service یا داده
Structured Logs
log باید context ساختاریافته داشته باشد:
{
"level": "error",
"message": "Order payment failed",
"request_id": "req-123",
"order_id": "ord-456",
"user_id": "usr-789"
}
داده ممنوع در log
- password
- token
- secret
- فایل خام
- اطلاعات مالی حساس
- داده شخصی غیرضروری
قواعد
- request-id باید در log قابل ردیابی باشد
- dump logging ممنوع است
- log باید قابل جستجو و قابل aggregation باشد
- پیام log باید action و failure را روشن کند