Skip to Sidebar Skip to Content
اقرأ-تك اقرأ-تك
ضيفنا الكريم

  • تسجيل الدخول
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©
How to Write Better Logs
  • Backend
  • Web Development
  • Technologies & Frameworks

How to Write Better Logs

من أساسيات شغلنا كمبرمجين بل تكاد تكون جزء يومي ولكنها من أهم الأمثلة على قاعدة "السهل الممتنع". فنعم كل المبرمجين بيستخدموها من أول الطلبة

  • Alaa Elkzaz by Alaa Elkzaz
    Alaa Elkzaz Alaa Elkzaz
    Co-Founder & Software Engineer
    • Website
  • ٧ فبراير، ٢٠٢٤
  • •
  • 2 min read
  • Share on X
  • Share on Facebook
  • Share on LinkedIn
  • Share on Pinterest
  • Email

ال logs من أساسيات شغلنا كمبرمجين بل تكاد تكون جزء يومي ولكنها من أهم الأمثلة على قاعدة "السهل الممتنع". فنعم كل المبرمجين بيستخدموها من أول الطلبة لل  principles engineers لكن عدد قليل جدًا اللي قادر يوظفها ويكتبها بشكل فعّال.

فورقة وقلم وتعالوا نشوف ازاي نكتب logs حلوة 😌

أولاً لازم نعرف أننا بنتعامل يوميًا مع نوعين من الـ Logs:

  • ال Infrastructure logs ودي اللي بينتجها ال server or operating system or network devices 
  •  ال Application code logs ودا اللي هنتكلم عليه دايمًا لأنه كمبرمج بكتبه بشكل شبه يومي وأنا أول واحد ينتفع أو يٌضر بيه.

أهداف كتابة ال Logs 

💡
الهدف الأساسي لأي logs إنها تدينا Better observability أو رؤية أفضل على النظام بشكل عام وتمكنا من مراقبة ال events و المشاكل المهمة وتجميع معلومات عنها وبالتالي حلها أو تحسين أداء النظام.

ودا بنلجأ له لما بنشغل ال service علي آل production environment وقتها مش بنقدر نعملها debug وبالتالي متقدرش تتبع مسار البيانات وهي دخلت في انهي سيناريو داخل الكود وانهي لاء , وكذلك مش كل الناس عندها صلاحية دخول لل Codebase زي ال Tech support engineers مثلاً, في الحالات دي بيكون اعتمادنا على الـ logs -وأشياء أخري- عشان نقدر نتتبع رحلة البيانات داخل ال service ونستخدمها عشان نحل مشكلة أو سيناريو غير متوقع أو نحسن من ال service وأدائها.

فقبل ما أكتب أي Log line لازم أجاوب على السؤال: هل كتابة ال log line دا هتديني رؤية أفضل على سلوك التطبيق أو النظام؟

How to Write Better Logs

ما هي الـ Events التي يجب تسجيلها في ال Logs؟

ال application logs بنستخدمها عشان نتابع أداء النظام بشكل عام, ولكن أكيد هنكون مهتمين أكثر بأننا نعمل log لو حصل مشكلة فلذلك أغلب ال log lines بتكون مرتبطة ب Error من نوع ما, لكن كذلك بنستخدمها لتسجيل معلومات عشان نتأكد أن البيانات عدت بمراحل معينة من ال Processing 

ودي قائمة بأمثلة عن ال events اللي من المفيد نعملها logging:

  • Application errors
  • Input and output validation failures
  • Authentication successes and failures
  • Authorization failures
  • Session management failures
  • Monitoring and performance improvement
  • Security and auditing

ما هي البيانات التي يجب كتابتها عن الـ Events التي نسجلها؟

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن وتصفح كافة المقالات المميزة واستمتع بمحتوى حصري وابق على اطلاع دائم بالتحديثات المستمرة.

اشترك الآن 🚀

هل لديك حساب؟ تسجيل الدخول

في هذا المقال
اشترك الآن واكمل قراءة المقال
قناة اقرأ-تِك على التليجرام قناة اقرأ-تِك على التليجرام

مقالات ذات صلة

  • gRPC 1 min read

    gRPC

    Mahmoud Youssef Mahmoud Youssef • ٤ يونيو، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • API Gateway 1 min read

    API Gateway

    Mahmoud Youssef Mahmoud Youssef • ٢١ مايو، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Hoppscotch 1 min read

    Hoppscotch

    Khaled Abdelfattah Khaled Abdelfattah • ٨ مايو، ٢٠٢٥
    Khaled Abdelfattah Khaled Abdelfattah
    Software Technical Writer
    • Website
  • Building a Scalable Notification System with NodeJS 2 min read

    Building a Scalable Notification System with NodeJS

    Anas Youssef Anas Youssef • ٢٠ أبريل، ٢٠٢٥
    Anas Youssef Anas Youssef
    Backend Developer
    • Website
  • Layered Architecture 1 min read

    Layered Architecture

    Mahmoud Youssef Mahmoud Youssef • ١٨ أبريل، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Interprocess Communication - Shared Memory 1 min read

    Interprocess Communication - Shared Memory

    Mahmoud Youssef Mahmoud Youssef • ٢٢ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Concurrency Building Blocks (Threads) 1 min read

    Concurrency Building Blocks (Threads)

    Mahmoud Youssef Mahmoud Youssef • ٩ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Deep Dive Into SQL Window Functions: Explained Visually Part II - Lead and Lag 5 min read

    Deep Dive Into SQL Window Functions: Explained Visually Part II - Lead and Lag

    Ahmed Anwar Ahmed Anwar • ٨ يناير، ٢٠٢٥
    Ahmed Anwar Ahmed Anwar
    Software Technical Writer
    • Website
  • Concurrency Building Blocks (Process) 2 min read

    Concurrency Building Blocks (Process)

    Mahmoud Youssef Mahmoud Youssef • ٥ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Top 6 Caching Strategies 2 min read

    Top 6 Caching Strategies

    Mahmoud Youssef Mahmoud Youssef • ٣ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website

اشترك الآن بنشرة اقرأ‑تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!

اقرأ-تك اقرأ-تك
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©