التسجيل المهيكل
Structured Logging
مفهوم
~18 دقيقة
التسجيل المهيكل — Structured Logging
التسجيل العادي (fmt.Println أو log.Println) لا يكفي في الإنتاج. تحتاج تسجيلاً مهيكلاً — بيانات مُنظّمة يمكن البحث فيها وتحليلها.
منذ Go 1.21، المكتبة القياسية تحتوي log/slog — تسجيل مهيكل احترافي بدون مكتبات خارجية.
المشكلة مع التسجيل العادي
main.go
Output:
أساسيات slog
main.go
Output:
مستويات التسجيل — Log Levels
main.go
Output:
المجموعات والسمات — Groups & Attributes
main.go
Output:
معرّف الطلب — Request ID / Correlation ID
main.go
Output:
مُسجّل مخصص للإنتاج
main.go
Output:
مقارنة مكتبات التسجيل
| المكتبة | المميزات | متى تستخدمها |
|---|---|---|
log/slog | مدمجة، مهيكلة، كافية | معظم المشاريع |
zerolog | سريعة جداً، صفر تخصيص | أداء حرج |
zap | من Uber، مرنة، سريعة | مشاريع كبيرة |
تحدي — Challenge
استخدم slog لتسجيل رسالتين — info و error