मोबाइल डेवलपमेंट में लॉगिंग और मॉनिटरिंग: सार, कौन से उपकरण और कैसे सेट करें

लेखक: IT Sectr प्रकाशित: 2026-05-27 पढ़ने का समय: 8 मिनट

लॉगिंग और मॉनिटरिंग मोबाइल एप्लिकेशन की स्थिरता के दो स्तंभ हैं। Gartner (2025) के अनुसार, APM समाधानों का बाजार 2027 तक 8 बिलियन डॉलर तक पहुंच जाएगा। सही लॉगिंग न केवल बग ढूंढने की अनुमति देती है, बल्कि उपयोगकर्ताओं को प्रभावित करने से पहले समस्याओं की भविष्यवाणी करने की भी अनुमति देती है।

मुख्य बातें

  • iOS पर मुख्य उपकरण हैं os_log (अंतर्निहित सिस्टम लॉगिंग) और CocoaLumberjack (रोटेशन और फ़ॉर्मेटिंग के साथ लचीली लाइब्रेरी)। iOS पर मॉनिटरिंग वास्तविक समय में प्रदर्शन को नियंत्रित करने की अनुमति देती है।
  • Android पर मानक है Timber (Logcat पर रैपर) और सिस्टम Log। Timber स्वचालित रूप से क्लास टैग डालता है और लॉगिंग स्तरों का प्रबंधन करता है।
  • Structured logging — JSON में लॉग लिखना। ELK, Grafana या Datadog के माध्यम से स्वचालित रूप से लॉग का विश्लेषण करने की अनुमति देता है। प्रोडक्शन और स्वचालित मॉनिटरिंग के लिए अनुशंसित।
  • APM (Application Performance Monitoring) — मोबाइल एप्लिकेशन मॉनिटरिंग के लिए उपकरणों का एक वर्ग: New Relic, Datadog, Firebase Performance।
  • Log रोटेशन और रिमोट लॉगिंग प्रोडक्शन के लिए अनिवार्य हैं। लॉग को डिवाइस की मेमोरी नहीं भरनी चाहिए और डेवलपर के लिए दूरस्थ रूप से उपलब्ध होनी चाहिए।

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 के विपरीत, यह कस्टम फ़ॉर्मेट, एसिंक्रोनस राइटिंग और 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 का उपयोग करते हैं।

Structured Logging

Structured logging — JSON फ़ॉर्मेट में लॉग लिखना, न कि सादा टेक्स्ट। उदाहरण: "User login failed" के बजाय हम {"event": "login_failed", "user_id": 123, "reason": "invalid_password"} लिखते हैं। यह स्वचालित मॉनिटरिंग का आधार है — ELK स्टैक और Grafana ऐसे डेटा को फ़िल्टर, एकत्र और विश्लेषण करते हैं।

Structured logging के लाभ

फ़ील्ड द्वारा फ़िल्टरिंग: पिछले एक घंटे में event=crash वाले सभी लॉग खोजें। एकत्रीकरण: एप्लिकेशन संस्करण द्वारा त्रुटियों की संख्या का ग्राफ़ बनाएं। ELK (Elasticsearch, Logstash, Kibana) या Grafana के साथ एकीकरण। पहले रिलीज़ के लिए structured logging अनिवार्य नहीं है, लेकिन DAU के 10,000 से अधिक होने पर महत्वपूर्ण हो जाता है।

रिमोट लॉगिंग और Log रोटेशन

रिमोट लॉगिंग — केंद्रीकृत मॉनिटरिंग के लिए डिवाइस से सर्वर पर लॉग भेजना। कस्टम Tree (Android) या HTTP अनुरोधों के माध्यम से कार्यान्वित किया जाता है। केवल Error और Warning भेजें — उपयोगकर्ता का ट्रैफ़िक बर्बाद न करें। Log रोटेशन: 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 से अधिक होने पर भुगतान वाले समाधानों पर स्विच करने की सलाह देता है।

Structured logging क्या है और यह सादे टेक्स्ट से बेहतर कैसे है?

Structured logging सादे टेक्स्ट के बजाय JSON या की-वैल्यू में लॉग का फ़ॉर्मेट है। यह फ़ील्ड द्वारा लॉग को फ़िल्टर करने, चार्ट बनाने और ELK या Grafana में स्वचालित रूप से विश्लेषण करने की अनुमति देता है। संरचित लॉग के बिना, हजारों रिकॉर्ड में पैटर्न ढूंढना मुश्किल है।

सारांश

  • os_log — iOS पर मूल लॉगिंग और मॉनिटरिंग उपकरण। CocoaLumberjack लचीलापन, रोटेशन और रिमोट लॉगिंग जोड़ता है।
  • Timber — Android पर मोबाइल एप्लिकेशन लॉगिंग का मानक। डीबग के लिए DebugTree, रिलीज़ के लिए CrashlyticsTree।
  • Structured logging (JSON) स्वचालित लॉग विश्लेषण के लिए आवश्यक है। ELK, Grafana, Datadog के साथ एकीकृत होता है।
  • APM — Sentry Performance, New Relic, Datadog। Firebase Performance — स्टार्टअप के लिए मुफ्त मोबाइल एप्लिकेशन मॉनिटरिंग उपकरण।
  • Log रोटेशन डिवाइस मेमोरी ओवरफ्लो को रोकता है। DDFileLogger (iOS) कॉन्फ़िगर करें या Logcat बफ़र (Android) का उपयोग करें।
  • रिमोट लॉगिंग — केवल Error और Warning लॉग भेजें। सभी लॉग उपयोगकर्ता का ट्रैफ़िक बर्बाद करते हैं।
  • Trace API और breadcrumbs (Sentry) मोबाइल एप्लिकेशन मॉनिटरिंग के लिए संदर्भ देते हैं, लॉग को घटना की कहानी में बदलते हैं।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें