موبائل ڈیولپمنٹ میں لاگنگ اور مانیٹرنگ: جوہر، کون سے اوزار اور کیسے ترتیب دیں

مصنف: IT Sectr اشاعت: 2026-05-27 مطالعے کا وقت: 8 منٹ

لاگنگ اور مانیٹرنگ موبائل ایپلیکیشن کے استحکام کے دو ستون ہیں۔ Gartner (2025) کے مطابق، APM حل کی مارکیٹ 2027 تک 8 بلین ڈالر تک پہنچ جائے گی۔ مناسب لاگنگ نہ صرف بگ تلاش کرنے کی اجازت دیتی ہے بلکہ صارفین کو متاثر کرنے سے پہلے مسائل کی پیش گوئی کرنے کی بھی اجازت دیتی ہے۔

اہم نکات

  • iOS پر اہم اوزار ہیں os_log (بلٹ ان سسٹم لاگنگ) اور CocoaLumberjack (گردش اور فارمیٹنگ کے ساتھ لچکدار لائبریری)۔ iOS پر مانیٹرنگ ریئل ٹائم میں کارکردگی کو کنٹرول کرنے کی اجازت دیتی ہے۔
  • Android پر معیار ہے Timber (Logcat پر ایک ریپر) اور سسٹم Log۔ Timber خود بخود کلاس ٹیگ داخل کرتا ہے اور لاگنگ لیول کا انتظام کرتا ہے۔
  • سٹرکچرڈ لاگنگ — JSON میں لاگ لکھنا۔ ELK، Grafana یا Datadog کے ذریعے خود بخود لاگ کا تجزیہ کرنے کی اجازت دیتا ہے۔ پروڈکشن اور خودکار مانیٹرنگ کے لیے تجویز کردہ۔
  • APM (Application Performance Monitoring) — موبائل ایپلیکیشن مانیٹرنگ کے لیے اوزاروں کا ایک طبقہ: New Relic، Datadog، Firebase Performance۔
  • لاگ گردش اور ریموٹ لاگنگ پروڈکشن کے لیے لازمی ہیں۔ لاگ کو ڈیوائس کی میموری نہیں بھرنی چاہیے اور ڈیولپر کے لیے دور سے قابل رسائی ہونی چاہیے۔

iOS پر لاگنگ اور مانیٹرنگ: os_log اور CocoaLumberjack

iOS پر موبائل ایپلیکیشن لاگنگ os_log پر مبنی ہے — Apple کا بلٹ ان سسٹم، جو iOS 10 سے دستیاب ہے۔ os_log ایک واحد سسٹم لاگ میں (آن ڈیوائس یا Console.app کے ذریعے) لاگ لکھتا ہے، زمرہ جات، لیول اور پرائیویسی ٹیگ کو سپورٹ کرتا ہے۔ Console.app اور xcrun کے ذریعے iOS پر لاگنگ اور مانیٹرنگ کا امتزاج ریئل ٹائم میں غلطیوں اور کارکردگی کو ٹریک کرنے کی اجازت دیتا ہے۔

iOS پر Log Level

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 کے ساتھ ملایا جا سکتا ہے — ریموٹ لاگنگ کے لیے فائل میں اور Console.app کے لیے os_log میں لکھیں۔

Android پر لاگنگ اور مانیٹرنگ: Timber اور Log Level

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 پر Log Level

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 میں ہم Android کے لیے Timber + Crashlytics اور iOS کے لیے os_log + CocoaLumberjack کا امتزاج استعمال کرتے ہیں۔

سٹرکچرڈ لاگنگ

سٹرکچرڈ لاگنگ — سادہ متن کے بجائے 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 MB یا 1 دن۔ Android پر Logcat بفر محدود ہے۔

APM اور موبائل ایپلیکیشن مانیٹرنگ: Sentry، New Relic، Datadog

Application Performance Monitoring (APM) — موبائل ایپلیکیشن مانیٹرنگ کے لیے اوزاروں کا ایک طبقہ۔ APM پیمائش کرتا ہے: شروع ہونے کا وقت، نیٹ ورک کی درخواستیں، FPS، میموری کا استعمال، کریش کی تعدد۔ اہم کھلاڑی: Sentry (Performance)، New Relic Mobile، Datadog Mobile۔

Sentry Performance

Sentry — نہ صرف کریش رپورٹنگ بلکہ کارکردگی کی مانیٹرنگ بھی۔ Sentry Performance تقسیم شدہ ٹریس بناتا ہے جو دکھاتا ہے کہ ہر مرحلے میں کتنا وقت لگا: بٹن دبانے سے سرور کے جواب تک۔ iOS، Android، Flutter، React Native کو سپورٹ کرتا ہے۔ ماہانہ 5k ایونٹس تک مفت۔

New Relic اور Datadog

New Relic Mobile میٹرکس دیتا ہے: سیشنز کی تعداد، ایپ میں وقت، کریش کی تعدد، نیٹ ورک کی درخواستیں۔ Datadog Mobile — ریئل ٹائم ڈیش بورڈز اور الرٹس کے ساتھ زیادہ جدید ٹول۔ دونوں ادائیگی والے ہیں، لیکن مفت درجے رکھتے ہیں۔ IT Sectr Firebase Performance سے شروع کرنے اور DAU کے 100,000 سے تجاوز کرنے پر ادائیگی والے APM پر منتقل ہونے کی سفارش کرتا ہے۔

Firebase Performance

Firebase Performance — Google کا ایک مفت موبائل ایپلیکیشن مانیٹرنگ ٹول۔ خود بخود میٹرکس جمع کرتا ہے: ایپ شروع ہونے کا وقت، HTTP درخواستیں (URL، طریقہ، جوابی کوڈ)، FPS۔ کسٹم ٹریسنگ کے لیے Trace API استعمال کریں۔ انضمام: build.gradle (Android) یا Podfile (iOS) میں SDK شامل کریں۔

Trace اور میٹرکس

Trace — شروع اور اختتام کے ساتھ ایک وقت کا حصہ جسے آپ ناپتے ہیں۔ مثال: trace = FirebasePerformance.getInstance().newTrace("checkout_process")۔ میٹرکس — عددی اشارے (جواب کا سائز، اشیاء کی تعداد)۔ Firebase Performance کو سرور کے بنیادی ڈھانچے کی ضرورت نہیں ہے — تمام ڈیٹا Firebase SDK کے ذریعے جاتا ہے۔ موبائل ایپلیکیشنز کی مانیٹرنگ کرتے وقت، Trace API کارکردگی کے تجزیہ کے لیے سیاق و سباق فراہم کرتا ہے۔

اکثر پوچھے گئے سوالات

لاگنگ کی کون سی سطحیں موجود ہیں اور انہیں کب استعمال کرنا چاہیے؟

معیاری سطحیں: ERROR (تنقیدی غلطیاں)، WARN (ممکنہ مسائل)، INFO (اہم واقعات)، DEBUG (ڈیبگنگ)، VERBOSE (تفصیلی ٹریسنگ)۔ پروڈکشن میں ERROR، WARN اور INFO رکھے جاتے ہیں، باقی بند کر دیے جاتے ہیں۔

Android میں Timber Logcat سے کیسے مختلف ہے؟

Timber Android پر موبائل ایپلیکیشن لاگنگ کے لیے Jake Wharton کا Logcat پر ایک ریپر لائبریری ہے۔ یہ خود بخود کلاس ٹیگ داخل کرتا ہے، 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 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں