تسجيل ومراقبة في التطوير المحمول: الجوهر والأدوات وكيفية الإعداد

المؤلف: IT Sectr نُشر: 2026-05-27 وقت القراءة: 8 دق

التسجيل والمراقبة هما ركيزتا استقرار التطبيق المحمول. وفقًا لـ Gartner (2025)، سوق حلول APM سيصل إلى 8 مليارات دولار بحلول 2027. التسجيل الصحيح لا يسمح فقط باكتشاف الأخطاء، بل أيضًا بالتنبؤ بالمشاكل قبل أن تؤثر على المستخدمين.

النقاط الرئيسية

  • في iOS، الأدوات الرئيسية هي os_log (تسجيل نظامي مدمج) وCocoaLumberjack (مكتبة مرنة مع التدوير والتنسيق). المراقبة على iOS تسمح بالتحكم في الأداء في الوقت الفعلي.
  • في Android، المعيار هو Timber (غلاف فوق Logcat) وLog النظامي. Timber يقوم تلقائيًا بإدراج علامة الفئة وإدارة مستويات التسجيل.
  • التسجيل المنظم — كتابة السجلات بتنسيق JSON. يتيح تحليل السجلات تلقائيًا عبر ELK أو Grafana أو Datadog. موصى به للإنتاج والمراقبة التلقائية.
  • APM (مراقبة أداء التطبيقات) — فئة من الأدوات لـ مراقبة التطبيقات المحمولة: New Relic وDatadog وFirebase Performance.
  • تدوير السجلات والتسجيل عن بُعد إلزاميان للإنتاج. يجب ألا تملأ السجلات ذاكرة الجهاز ويجب أن تكون متاحة للمطور عن بُعد.

التسجيل والمراقبة على iOS: os_log وCocoaLumberjack

تسجيل التطبيقات المحمولة على iOS مبني على os_log — النظام المدمج من Apple، المتاح منذ iOS 10. os_log يكتب السجلات في سجل نظامي واحد (على الجهاز أو عبر Console.app)، ويدعم الفئات والمستويات وعلامات الخصوصية. مزيج التسجيل والمراقبة على iOS عبر Console.app وxcrun يسمح بتتبع الأخطاء والأداء في الوقت الفعلي.

مستوى السجل على iOS

os_log له مستويات: Default وInfo وDebug وError وFault. في الإنتاج، يُبقي على Error وFault — يتم تعطيل Debug وInfo. اختيار المستوى الصحيح هو جزء من استراتيجية مراقبة التطبيقات المحمولة على iOS. الخصوصية: %{public}@ للبيانات غير المحمية، %{private}@ للبيانات الشخصية.

CocoaLumberjack

CocoaLumberjack — مكتبة شائعة لتسجيل iOS. على عكس os_log، تدعم تنسيقات مخصصة وكتابة غير متزامنة وتدوير السجلات. DDLog وDDTTYLogger (وحدة التحكم) وDDFileLogger (ملف مع تدوير). للمراقبة عن بُعد، يمكن دمج CocoaLumberjack مع os_log — الكتابة إلى ملف للتسجيل عن بُعد وإلى os_log لـ Console.app.

التسجيل والمراقبة على Android: Timber ومستوى السجل

لتسجيل التطبيقات المحمولة على Android، يُستخدم Timber — مكتبة من Jake Wharton أصبحت المعيار للمنصة. Timber هو غلاف فوق Android Log (Logcat) يضيف تلقائيًا علامة الفئة ويكون Tree. Timber جزء من نظام مراقبة التطبيقات المحمولة Android: DebugTree للتصحيح، CrashlyticsTree لإرسال البيانات.

Timber بالتفصيل

Timber يستخدم Tree — مكون يقرر ماذا يفعل بالسجل. في بنى التصحيح، DebugTree (إخراج إلى Logcat)، في الإصدار — CrashlyticsTree (إرسال الأعطال). Timber.wtf() يسجل الأخطاء الفادحة. Timber.tag("CustomTag") يتجاوز العلامة. للمراقبة الفعالة، يتم دمج Timber مع أدوات APM.

مستوى السجل على Android

Android Log له مستويات: VERBOSE وDEBUG وINFO وWARN وERROR وASSERT. ProGuard/R8 يزيل Log.d وLog.v في الإصدار — Timber يسمح بالتسجيل عبر Plant. اختيار المستوى يؤثر على جودة مراقبة التطبيق المحمول — في الإنتاج يُبقي على WARN وERROR.

الأداة المنصة التنسيق التدوير عن بُعد التعقيد
os_logiOSمنظمنظاميConsole.appمنخفض
CocoaLumberjackiOSنصي/JSONDDFileLoggerنعم (مخصص)متوسط
TimberAndroidنصيLogcat/مخصصTreeمنخفض
SentryiOS/AndroidJSONخادمنعممتوسط
LogcatAndroidنصيمخزن مؤقتADBمنخفض

عند اختيار أداة التسجيل، ضع في اعتبارك: هل تحتاج إلى تسجيل عن بُعد، كم مرة تتغير السجلات ومن سيحللها. للشركات الناشئة، os_log أو Timber كافيان. للمؤسسات — CocoaLumberjack مع الإرسال إلى الخادم. في IT Sectr، نستخدم مجموعة Timber + Crashlytics لـ Android وos_log + CocoaLumberjack لـ iOS.

التسجيل المنظم

التسجيل المنظم — كتابة السجلات بتنسيق JSON بدلاً من النص العادي. مثال: بدلاً من "User login failed" نكتب {"event": "login_failed", "user_id": 123, "reason": "invalid_password"}. هذا هو الأساس لـ المراقبة التلقائية — مجموعة ELK وGrafana تقوم بتصفية وتجميع وتحليل هذه البيانات.

فوائد التسجيل المنظم

التصفية حسب الحقول: ابحث عن جميع السجلات التي تحتوي على event=crash في الساعة الأخيرة. التجميع: أنشئ رسمًا بيانيًا لعدد الأخطاء حسب إصدار التطبيق. التكامل مع ELK (Elasticsearch وLogstash وKibana) أو Grafana. التسجيل المنظم ليس إلزاميًا للإصدارات الأولى، لكنه يصبح ضروريًا عندما يتجاوز DAU 10,000.

التسجيل عن بُعد وتدوير السجلات

التسجيل عن بُعد — إرسال السجلات من الجهاز إلى خادم للمراقبة المركزية. يُنفذ عبر Tree مخصص (Android) أو طلبات HTTP. أرسل فقط Error وWarning — لا تهدر حركة مرور المستخدم. تدوير السجلات: DDFileLogger (iOS) كل 1 ميجابايت أو يوم واحد. على Android، المخزن المؤقت لـ Logcat محدود.

APM ومراقبة التطبيقات المحمولة: Sentry وNew Relic وDatadog

مراقبة أداء التطبيقات (APM) — فئة من الأدوات لـ مراقبة التطبيقات المحمولة. APM يقيس: وقت بدء التشغيل وطلبات الشبكة وFPS واستخدام الذاكرة وتكرار الأعطال. اللاعبون الرئيسيون: Sentry (Performance) وNew Relic Mobile وDatadog Mobile.

Sentry Performance

Sentry — ليس فقط الإبلاغ عن الأعطال، بل أيضًا مراقبة الأداء. Sentry Performance ينشئ تتبعات موزعة تظهر كم من الوقت استغرقت كل مرحلة: من الضغط على الزر إلى استجابة الخادم. يدعم iOS وAndroid وFlutter وReact Native. مجاني حتى 5 آلاف حدث شهريًا.

New Relic وDatadog

New Relic Mobile يعطي مقاييس: عدد الجلسات والوقت في التطبيق وتكرار الأعطال وطلبات الشبكة. Datadog Mobile — أداة أكثر حداثة مع لوحات تحكم في الوقت الفعلي وتنبيهات. كلاهما مدفوع، لكن لهما مستويات مجانية. IT Sectr توصي بالبدء مع Firebase Performance والانتقال إلى APM المدفوع عندما يتجاوز DAU 100,000.

Firebase Performance

Firebase Performance — أداة مجانية لمراقبة التطبيقات المحمولة من Google. تجمع تلقائيًا مقاييس: وقت بدء التطبيق وطلبات HTTP (URL والطريقة ورمز الاستجابة) وFPS. للتتبع المخصص، استخدم Trace API. التكامل: أضف SDK إلى build.gradle (Android) أو Podfile (iOS).

Trace والمقاييس

Trace — مقطع زمني ببداية ونهاية تقوم بقياسه. مثال: trace = FirebasePerformance.getInstance().newTrace("checkout_process"). المقاييس — مؤشرات رقمية (حجم الاستجابة وعدد العناصر). Firebase Performance لا يتطلب بنية تحتية للخادم — كل البيانات تذهب عبر Firebase SDK. عند مراقبة التطبيقات المحمولة، Trace API يعطي سياقًا لتحليل الأداء.

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

ما هي مستويات التسجيل الموجودة ومتى تستخدم؟

المستويات القياسية: ERROR (أخطاء حرجة)، WARN (مشاكل محتملة)، INFO (أحداث رئيسية)، DEBUG (تصحيح)، VERBOSE (تتبع تفصيلي). في الإنتاج، يُبقي على ERROR وWARN وINFO، ويتم تعطيل الباقي.

كيف يختلف Timber عن Logcat في Android؟

Timber — مكتبة غلاف فوق Logcat من Jake Wharton لتسجيل التطبيقات المحمولة على Android. يقوم تلقائيًا بإدراج علامة الفئة ويكون Tree ويعطل السجلات في الإنتاج بسطر واحد من الكود.

ما هو APM ولماذا يحتاجه التطبيق المحمول؟

APM (Application Performance Monitoring) — فئة من الأدوات لتتبع الأداء: وقت بدء التشغيل وطلبات الشبكة واستخدام الذاكرة وتكرار الأعطال. عند مراقبة التطبيقات المحمولة، New Relic وDatadog وFirebase Performance تساعد في إيجاد الاختناقات قبل شكاوى المستخدمين.

هل يجب على الشركة الناشئة استخدام حلول APM مدفوعة؟

للشركة الناشئة، Firebase Performance كافٍ — أداة مجانية لمراقبة التطبيقات المحمولة. يتم ربط New Relic وDatadog عند الحاجة إلى تتبع تفصيلي ولوحات تحكم مخصصة. IT Sectr توصي بالبدء مع Firebase والانتقال إلى الحلول المدفوعة عندما يتجاوز DAU 100,000.

ما هو التسجيل المنظم وكيف هو أفضل من النص العادي؟

التسجيل المنظم هو تنسيق سجلات بتنسيق JSON أو مفتاح-قيمة بدلاً من النص العادي. يسمح بتصفية السجلات حسب الحقول وبناء الرسوم البيانية والتحليل التلقائي في ELK أو Grafana. بدون سجلات منظمة، من الصعب إيجاد أنماط في آلاف السجلات.

الملخص

  • os_log — الأداة الأساسية للتسجيل والمراقبة على iOS. CocoaLumberjack يضيف المرونة والتدوير والتسجيل عن بُعد.
  • Timber — معيار تسجيل التطبيقات المحمولة على Android. DebugTree للتصحيح، CrashlyticsTree للإصدار.
  • التسجيل المنظم (JSON) ضروري للتحليل التلقائي للسجلات. يتكامل مع ELK وGrafana وDatadog.
  • APM — Sentry Performance وNew Relic وDatadog. Firebase Performance — أداة مجانية لمراقبة التطبيقات المحمولة للشركات الناشئة.
  • تدوير السجلات يمنع تجاوز ذاكرة الجهاز. قم بتكوين DDFileLogger (iOS) أو استخدم مخزن Logcat المؤقت (Android).
  • التسجيل عن بُعد — أرسل فقط سجلات Error وWarning. كل السجلات تستهلك حركة مرور المستخدم.
  • Trace API وbreadcrumbs (Sentry) يعطيان سياقًا لمراقبة التطبيقات المحمولة، محولين السجلات إلى قصة حادثة.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع