2012-08-22 23 views
6

मैं अपने ऐप में सभी लॉगिंग के लिए CocoaLumberjack का उपयोग कर रहा हूं। इसका उपयोग करके मैं सीधे DDLogVerbose (...) या किसी भी उपलब्ध प्रकार का उपयोग कर फ़ाइल में लॉग इन कर सकता हूं।अन्य पुस्तकालयों में कोकोलंबरजैक और एनएसएलओजी

मैं भी fmdb (SQLite wrapper) का उपयोग कर रहा हूं। समस्या यह है कि यह लाइब्रेरी NSLog() का उपयोग करती है और कोई भी नहीं अगर इसका आउटपुट मेरी लॉग फ़ाइल पर समाप्त होता है।

क्या एनएसएलओजी के आउटपुट को कैप्चर करने और इसे कोकोलंबरजैक पर रीडायरेक्ट करने का कोई तरीका है? या यदि यह संभव नहीं है, तो बस "पुनः लिखें" NSLog() ताकि यह वास्तव में DDLogVerbose() को निष्पादित कर सके?

उत्तर

1

अन्य पुस्तकालयों के शीर्ष करने के

#define NSLog DDLogInfo 

जोड़ने का प्रयास करें। बेशक आपको काम करने के लिए

#include "Logging.h" 

की आवश्यकता होगी।

+0

धन्यवाद! यह मेरे अपने NSLog कथन के लिए बहुत अच्छा काम करता है, लेकिन ऐप्पल के लॉग बयान के लिए नहीं। – vomako

1

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

+0

आप सही हैं, एक अनंत लूप है। क्या इसके समाधान की कोई युक्ति है? – ebi