2015-09-26 8 views
6

उत्पादन वातावरण में XCGLogger से लॉग को पूरी तरह अक्षम कैसे कर सकता हूं तो XCGLogger से लॉग को पूरी तरह से अक्षम करें?उत्पादन में जब

वर्तमान में मैं logLevel = .None का उपयोग कर रहा हूं।

क्या यह अनुशंसित तरीका है?

उत्तर

8

यह एक संभावित तरीका है, लेकिन आदर्श नहीं है।

सबसे पहले, मुझे आश्चर्य होगा कि क्या आप वास्तव में उत्पादन में लॉग को पूरी तरह से अक्षम करना चाहते हैं। error और severe लॉग का उपयोग जारी किए गए ऐप्स के लिए उपयोगी निदान उपकरण हो सकता है।

यदि आप उत्पादन में लॉग को पूरी तरह से खत्म करना चाहते हैं, तो मैं आपके द्वारा स्थापित किए गए तरीके को बदलने और आधिकारिक दस्तावेज़ों में जो कुछ भी है, उससे लॉगजर का उपयोग करने की सलाह दूंगा।

बदलें वैश्विक लॉग वस्तु के बजाय एक वैकल्पिक होने के लिए:

log?.debug("whatever") 

यह log के बाद से लकड़हारा के किसी भी भूमि के ऊपर समाप्त करेंगे में nil हो जाएगा:

let log: XCGLogger? = { 
    #if DEBUG 
     let log = XCGLogger.defaultInstance() 
     log.setup(.Debug, showThreadName: true, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug) 
     return log 
    #else 
     return nil 
    #endif 
} 

फिर अपने लॉग बदलने के लिए कॉल उत्पादन और कोई लॉगिंग कॉल कभी नहीं किया जाएगा।

+0

बीटीडब्ल्यू। उत्पादन में गंभीर और त्रुटि लॉग मेरे पास वापस आ सकते हैं यदि मैं उन्हें पूरी तरह से हटा नहीं देता – Kaunteya

+0

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

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