Swift (iOS/macOS) में लॉगिंग: SwiftyBeaver, XCGLogger, OSLog

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift (iOS/macOS) के लिए लॉगिंग: सर्वश्रेष्ठ समाधान

\n\n

लॉगिंग किसी भी एप्लिकेशन के विकास का एक अभिन्न अंग है। Swift (iOS/macOS) के लिए कई उपकरण मौजूद हैं जो त्रुटियों को प्रभावी ढंग से ट्रैक करने, कोड को डीबग करने और एप्लिकेशन के व्यवहार का विश्लेषण करने में सक्षम बनाते हैं। इस लेख में, हम लॉगिंग के लिए सर्वश्रेष्ठ लाइब्रेरीज़ और अंतर्निहित समाधानों, उनकी विशेषताओं, लाभों और उपयोग के उदाहरणों पर विचार करेंगे।

\n\n

Swift में लॉगिंग की आवश्यकता क्यों है?

\n

लॉगिंग डेवलपर्स की मदद करती है:

\n
    \n
  • रीयल-टाइम में कोड के निष्पादन को ट्रैक करना।
  • \n
  • प्रारंभिक चरणों में त्रुटियों की पहचान करना और उन्हें ठीक करना।
  • \n
  • एप्लिकेशन के प्रदर्शन का विश्लेषण करना।
  • \n
  • बाद के ऑडिट के लिए डेटा एकत्र करना।
  • \n
\n\n

अंतर्निहित समाधान: OSLog (Unified Logging)

\n

iOS 10 और macOS Sierra से शुरू करके, Apple ने OSLog प्रस्तुत किया - ऑपरेटिंग सिस्टम में निर्मित एक शक्तिशाली लॉगिंग प्रणाली। यह उच्च प्रदर्शन और सुरक्षा सुनिश्चित करता है।

\n\n

OSLog का उपयोग उदाहरण

\n
import os.log\n\nlet log = OSLog(subsystem: "com.example.app", category: "network")\nos_log("अनुरोध भेजा गया: %@", log: log, type: .info, "https://api.example.com")\n\n// त्रुटियों के लिए\nos_log("कनेक्शन त्रुटि: %@", log: log, type: .error, error.localizedDescription)
\n\n

OSLog के लाभ:

\n
    \n
  • तीसरे पक्ष की लाइब्रेरीज़ स्थापित करने की आवश्यकता नहीं है।
  • \n
  • सिस्टम स्तर पर काम करता है, Console.app में फ़िल्टरिंग का समर्थन करता है।
  • \n
  • प्रोडक्शन मोड में स्वचालित रूप से डेटा एन्क्रिप्ट करता है।
  • \n
\n\n

SwiftyBeaver — क्रॉस-प्लेटफ़ॉर्म लॉगर

\n

SwiftyBeaver Swift में लॉगिंग के लिए सबसे लोकप्रिय लाइब्रेरीज़ में से एक है। यह iOS, macOS, tvOS और watchOS का समर्थन करता है। मुख्य विशेषताएं: कंसोल में रंगीन आउटपुट, फ़ाइलों में लिखना, क्लाउड सेवाओं (जैसे Loggly, Elastichsearch) पर भेजना।

\n\n

Swift Package Manager के माध्यम से स्थापना

\n
// Package.swift में\ndependencies: [\n    .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", from: "2.0.0")\n]
\n\n

SwiftyBeaver का उपयोग उदाहरण

\n
import SwiftyBeaver\n\nlet log = SwiftyBeaver.self\n\n// गंतव्यों का कॉन्फ़िगरेशन\nlet console = ConsoleDestination()  // कंसोल में आउटपुट\nlet file = FileDestination()        // फ़ाइल में लिखना\n\n// फ़ॉर्मेटिंग\nconsole.format = "$DHH:mm:ss$d $L $N.$F:$l - $M"\n\n// गंतव्य जोड़ना\nlog.addDestination(console)\nlog.addDestination(file)\n\n// लॉगिंग\nlog.info("एप्लिकेशन शुरू हुआ")\nlog.error("डेटा लोड करने में त्रुटि: \\(error.localizedDescription)")
\n\n

SwiftyBeaver की विशेषताएं:

\n
    \n
  • स्तरों के रंग कोडिंग का समर्थन (verbose, debug, info, warning, error)।
  • \n
  • HTTP के माध्यम से सर्वर पर लॉग भेजने की क्षमता।
  • \n
  • आउटपुट प्रारूप का लचीला कॉन्फ़िगरेशन।
  • \n
\n\n

XCGLogger — iOS/macOS के लिए हल्का लॉगर

\n

XCGLogger एक और लोकप्रिय समाधान है, जो सरलता और गति पर केंद्रित है। छोटे प्रोजेक्ट्स और तेज़ प्रोटोटाइपिंग के लिए आदर्श।

\n\n

XCGLogger का उपयोग उदाहरण

\n
import XCGLogger\n\nlet log = XCGLogger.default\n\n// कॉन्फ़िगरेशन\nlog.setup(level: .debug, showLogIdentifier: false, showFunctionName: true, showThreadName: true, showLevel: true, showFileNames: true, showLineNumbers: true, showDate: true)\n\n// लॉगिंग\nlog.debug("डीबग: x का मान = \\(x)")\nlog.warning("चेतावनी: बैटरी चार्ज कम है")
\n\n

XCGLogger के लाभ:

\n
    \n
  • न्यूनतम निर्भरताएँ।
  • \n
  • लॉगिंग स्तरों द्वारा फ़िल्टरिंग का समर्थन।
  • \n
  • Crashlytics और अन्य सेवाओं के साथ एकीकरण की संभावना।
  • \n
\n\n

लॉगिंग लाइब्रेरीज़ की तुलना

\n\n \n \n \n

अनुशंसाएँ

लाइब्रेरीप्रदर्शन