2012-09-29 12 views
6

आईफोन एप्लिकेशन में त्रुटियों/घटनाओं को लॉग करने का सबसे अच्छा अभ्यास क्या है? मैं डिबगिंग के बारे में बात नहीं कर रहा हूं, लेकिन एक ऐप जारी होने के बाद। मेरा मतलब है, जब ऐप रिलीज़ मोड में चल रहा है (डीबग मोड नहीं) तो मैं त्रुटियों/ईवेंट लॉग एकत्र करना चाहता हूं। (जब आवश्यक हो तो मैं उपयोगकर्ता से स्वेच्छा से फ़ाइल को अपने सर्वर पर विश्लेषण के लिए भेजने के लिए कह सकता हूं।)आईफोन एप्लिकेशन में त्रुटियों/घटनाओं को लॉग करने का सबसे अच्छा अभ्यास क्या है?

(क्या एनएसएलओजी का कोई प्रभाव पड़ता है यदि यह डीबग में नहीं चल रहा है? यदि हां, तो यह कहां लिखता है? और, कैसे ? प्रोग्राम के किसी भी सामग्री को स्पष्ट करने के लिए)

उत्तर

3

मैं एक उत्तर पोस्ट उपयोग करने के लिए इसी तरह की एक प्रश्न करना पसंद करते हैं: Including custom data into iOS crash dumps

NSLog विस्तृत loggin के लिए नहीं किया जाना चाहिए उत्पादन अनुप्रयोगों में जी, क्योंकि यह आपके आवेदन को धीमा कर देता है। एनएसएलओजी सिस्टम लॉगर को हर बार कॉल करने के लिए एक कनेक्शन खोलता है और यह सिंक्रनाइज़ करता है, इसलिए वर्तमान थ्रेड को अवरुद्ध करता है।

इसके बजाय CocoaLumberjack का उपयोग करें, जो असीमित रूप से लॉग इन करता है, बहुत तेज़ है और बग्स से लॉग स्तरीय समर्थन प्रदान करता है जिसे कुछ अतिरिक्त प्रयासों के साथ रनटाइम पर भी बदला जा सकता है (इसे विकी पेज देखें)। इसके अलावा यह कई आउटपुट गंतव्यों का समर्थन करता है, जैसे फाइल, कंसोल या एक्सकोड कंसोल और बहुत कुछ।

एक और महान लॉगिंग लाइब्रेरी NSLogger है, जो बोनजोर के माध्यम से लॉग डेटा स्ट्रीम करने के लिए मैक एप्लिकेशन प्रदान करती है। इन दोनों पुस्तकालयों का एक साथ उपयोग किया जा सकता है, जिसका अर्थ यह है कि इस कनेक्टर का उपयोग करके कोकोलंबरजैक से एनएसएलगर मैक ऐप में स्ट्रीमिंग लॉग डेटा: https://github.com/steipete/NSLogger-CocoaLumberjack-connector

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

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