0Pricing
Go Academy · درس

لماذا السجلات المنظّمة

سجلات قابلة للقراءة آليًا

لماذا السجلات المنظّمة درس مجاني في Go Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Go Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Go Academy 4 دروس في المجموع.

سجلات تستطيع الآلات قراءتها

السجلات التقليدية عبارة عن سلاسل نصية حرة التنسيق: "user 42 logged in from 1.2.3.4". يسهل على البشر قراءتها، لكن يصعب على الآلات الاستعلام منها. يُخرج التسجيل المنظم أزواجًا من المفتاح والقيمة، بحيث تتمكن أنظمة تجميع السجلات من التصفية والتجميع بشكل موثوق.

مشكلة السجلات النصية

تحليل النص الحر هشّ:

  • تتغير التنسيقات بمرور الوقت
  • تتعطل التعابير النمطية عند الحالات الطرفية
  • لا يمكنك بسهولة طرح السؤال: "all events where userID=42"

تجعل السجلات المنظمة كل حقل سمةً مستقلة يمكن الاستعلام منها.

slog ضمن المكتبة القياسية

منذ Go 1.21، أصبح التسجيل المنظم متاحًا ضمن حزمة المكتبة القياسية log/slog. ولا تحتاج إلى تبعية خارجية.

import "log/slog"

أول سجل منظم لك

تسجّل أبسط استدعاءات الدالة رسالةً بالإضافة إلى سمات من أزواج المفتاح والقيمة:

package main

import "log/slog"

func main() {
    slog.Info("user logged in", "userID", 42, "ip", "1.2.3.4")
}

قراءة الناتج

يطبع المعالج الافتراضي شيئًا مشابهًا لما يلي:

  • 2009/11/10 23:00:00 INFO user logged in userID=42 ip=1.2.3.4

كل سمة عبارة عن زوج منفصل من key=value، وجاهز للتحليل الآلي.

المستويات المدمجة

يوفر slog أربعة مستويات: Debug وInfo وWarn وError. ويقبل كل منها رسالةً وسمات متناوبة من أزواج المفتاح والقيمة.

slog.Warn("disk almost full", "freePct", 5)
slog.Error("db connection failed", "attempt", 3)

أزواج المفتاح والقيمة

تُمرَّر السمات كوسيطات متناوبة: مفتاح، قيمة، مفتاح، قيمة. ويُسجَّل أي وسيط فردي زائد باستخدام العلامة الخاصة !BADKEY، لذا احرص على إبقاء الوسيطات في أزواج.

slog.Info("order placed", "orderID", 1001, "total", 49.99)

JSON للإنتاج

في بيئة الإنتاج، عادةً ما تُخرج JSON حتى تتمكن أدوات نقل السجلات (Loki وELK وCloudWatch) من فهرسة الحقول تلقائيًا. يوفر slog معالج JSON لهذا الغرض تحديدًا، وسنتناوله في الدرس التالي.

مقارنة مع الحزمة القديمة log

لا تطبع الحزمة التقليدية log سوى السلاسل النصية. ويحافظ slog على أسلوب مألوف، لكنه يضيف البنية والمستويات والمعالجات القابلة للتبديل، من دون الحاجة إلى تغيير قاعدة الشيفرة كاملةً دفعة واحدة.

متى تكون البنية مفيدة

يكون التسجيل المنظم مفيدًا بأكبر قدر عندما:

  • تجمع السجلات مركزيًا من خدمات متعددة
  • تنشئ لوحات معلومات وتنبيهات تعتمد على الحقول
  • تحتاج إلى ربط الطلبات باستخدام معرّف

قابل للتشغيل: ناتج منظم

شغّل هذا المثال لرؤية السمات المنظمة في الناتج الافتراضي.

package main

import "log/slog"

func main() {
    slog.Info("request handled",
        "method", "GET",
        "path", "/health",
        "status", 200,
        "ms", 12,
    )
}

تحقق سريع

اختبر مدى فهمك للتسجيل المنظم.

مراجعة

لقد تعلمت أهمية السجلات المنظمة:

  • يمكن للآلات الاستعلام من سمات المفتاح والقيمة
  • توجد log/slog ضمن المكتبة القياسية (Go 1.21+)
  • المستويات المدمجة هي: Debug وInfo وWarn وError
  • مرّر السمات على شكل أزواج متناوبة من المفتاح والقيمة

التالي: اختيار معالجات النصوص أو JSON.

الأسئلة الشائعة

هل درس «لماذا السجلات المنظّمة» مجاني؟

نعم — نص درس «لماذا السجلات المنظّمة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Go Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Go Academy 4 دروس في المجموع.

ماذا ستتعلم في «لماذا السجلات المنظّمة»؟

سجلات قابلة للقراءة آليًا تتمرن على Go Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Go Academy؟

لا تُشترط خبرة سابقة. Go Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «لماذا السجلات المنظّمة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Go Academy هذا؟

نعم. كل درس في Go Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. لماذا السجلات المنظّمة
  2. معالجات slog
  3. مستويات السجل والسمات
  4. المعالجات المخصّصة
← العودة إلى Go Academy