2010-06-28 13 views
21

क्या आईओएस के लिए लॉगिंग फ्रेमवर्क है जो ऐप क्रैश का निदान करने में डेवलपर्स की सहायता कर सकता है?लॉगिंग फ्रेमवर्क?

+1

क्या आपका मतलब है कि अपने परीक्षण उपकरण पर डीबगिंग के मामले में लॉगिंग करना या ऐप उत्पादन में होने पर उपयोगकर्ता गतिविधि लॉगिंग करना है? – dusker

+0

@ डस्कर: ऐप के विकास के दौरान उत्पादन के साथ-साथ डिबगिंग के लिए। – thndrkiss

उत्तर

48

आप पसंद कर सकते हैं:

  • Lumberjack: स्थिर और पारंपरिक

"यह अन्य लोकप्रिय प्रवेश चौखटे के लिए अवधारणा में इसी तरह की है जैसे log4j, अभी तक उद्देश्य-सी के लिए डिज़ाइन किया गया है, और बहु-थ्रेडिंग, ग्रैंड सेंट्रल प्रेषण (यदि उपलब्ध हो), लॉकलेस परमाणु संचालन, और उद्देश्य-सी रनटाइम की गतिशील प्रकृति जैसी सुविधाओं का लाभ उठाता है। "

  • LibComponentLogging: सुंदर और कट्टर, RestKit
  • द्वारा प्रयोग किया जाता

"LibComponentLogging ऑब्जेक्टिव-सी अनुप्रयोगों मैक ओएस एक्स और iPhone OS पर जो सशर्त प्रदान करता है के लिए एक छोटा सा प्रवेश पुस्तकालय है लॉग स्तर और लॉग घटकों के आधार पर लॉगिंग। इसके अतिरिक्त, एक ही लॉगिंग इंटरफ़ेस का उपयोग करते समय, विभिन्न लॉगिंग रणनीतियों का उपयोग किया जा सकता है, उदाहरण के लिए फ़ाइल में लॉग संदेश लिखना या उन्हें सिस्टम लॉग में भेजना। "

  • NSLogger: एक समर्पित दृश्य के साथ फैंसी ओएस एक्स अनुप्रयोग

"NSLogger एक उच्च कार्यक्षमता उपयोगिता जो मैक ओएस एक्स या iOS पर चल रहे क्लाइंट अनुप्रयोग द्वारा उत्सर्जित निशान को प्रदर्शित करता है पेड़ों की कटाई (आईफोन ओएस)। यह आपके सामान्य एनएसएलओजी() - आधारित निशानों को प्रतिस्थापित करता है और प्रदर्शन फ़िल्टरिंग, छवि और बाइनरी लॉगिंग, निशान बफरिंग, समय की जानकारी इत्यादि जैसे शक्तिशाली जोड़ प्रदान करता है। "

+0

ऐप्पल की मानक एएसएल लाइब्रेरी को भी न भूलें। कुछ रैपर कार्यों के साथ आप एकाधिक ट्रेस स्तर (डीबग, जानकारी, चेतावनी, त्रुटि, ... आदि) के साथ बहुत अच्छा लॉगिंग प्राप्त कर सकते हैं। –

3

This previous question ओवरलैप लगता है। लेकिन लब्बोलुआब यह है:

NSLog(@"message");

या:

printf("message");

4

मैं एक साधारण प्रवेश रूपरेखा है कि मदद कर सकता है बनाया। मैं आपके पास किसी भी प्रतिक्रिया की सराहना करता हूं। आशा करता हूँ की ये काम करेगा।

लिंक Project Page

6

को मैं जानता हूँ कि इस पोस्ट पुरानी है लेकिन मैं एक के लिए देख रहा हूँ के रूप में अच्छी तरह से। मैंने Lumberjack नामक एक पाया, हालांकि मैंने अभी तक यह कोशिश नहीं की है।

+1

क्या यह एन्क्रिप्शन प्रदान करता है अगर किसी को लॉग को सुरक्षित रूप से स्टोर करने की आवश्यकता है? – surlac

0

मूल लॉगिंग के लिए NSLog (@ "आपका संदेश यहां") यदि आप अधिक लचीला लॉगिंग Lumberjack में देखना चाहते हैं। यह कर सकते हैं आप उत्पादन में लॉगिंग अक्षम आदि आदि

1

मैं एक अलग की जरूरत है: न केवल मैं दुर्घटनाओं डिबग करने के लिए करना चाहते हैं, लेकिन मैं यह भी अन्य त्रुटियों (NSError, NSException) डिबग करने के लिए की जरूरत है।

मैंने इलडन के उत्तर में वर्णित सभी 3 पैकेजों का प्रयास किया। हालांकि, उन सभी को मुझे लॉगिंग का एक नया तरीका अपनाने की आवश्यकता है, जो कि उन पुस्तकालयों के साथ संगत नहीं हो सकता है जिन पर मैं निर्भर करता हूं। उदाहरण के लिए, मैं एनएसएलओगर को अपनाने का इरादा रखता हूं लेकिन रेस्टकिट, जो कि मेरे प्रोजेक्ट में एक महत्वपूर्ण लाइब्रेरी है, LibComponentLogging का उपयोग करता है।

तो मैं इसके लिए एक छोटा फली (https://github.com/kennethjiang/Teleport-NSLog) लिखने के साथ समाप्त हुआ। तंत्र बैकएंड HTTP सर्वर पर stderr को पुनर्निर्देशित करना है (जहां NSLog + इन सभी लॉगिंग फ्रेमवर्क संदेश लिखते हैं)। अब मैं अपने ऐप को उपयोगकर्ता के डिवाइस में चलाना डीबग कर सकता हूं जैसे कि यह मेरे एक्सकोड में चल रहा था। :)

संबंधित मुद्दे