2012-01-25 9 views
42

एक ठेठ रंग टर्मिनल में, बचने वाले अनुक्रम होते हैं जिनका उपयोग विभिन्न रंगों में टेक्स्ट प्रिंट करने के लिए किया जा सकता है। आम तौर पर 8 रंग उपलब्ध हैं। मैंने NSLog में इसके लिए मानक, एएनएसआई एस्केप अनुक्रमों का उपयोग करने की कोशिश की, लेकिन कोई पासा नहीं। यह उस तंत्र द्वारा समर्थित नहीं है।NSLog के साथ रंग में प्रिंट करने का कोई तरीका?

क्या NSLog का उपयोग कर रंग में कंसोल (लॉग) को प्रिंट करने का कोई अलग तरीका है?

धन्यवाद।

+0

की इस [ब्लॉग] परिचय [CocoaLumberjack] (https://github.com/robbiehanson/CocoaLumberjack) (http://deusty.blogspot.com/2012 /05/does-your-xcode-do-this.html)। – ohho

+0

[एक्सकोड लॉगर लाइब्रेरी] (https://github.com/codeFi/XcodeLogger) का उपयोग करें। यह एक सरल-टू-कार्यान्वित, रंगीन, लचीला, अनुकूलनशील और तेज़ एनएसएलओजी प्रतिस्थापन है। – Razvan

उत्तर

8

इस तरह एक पंक्ति मेरे लिए काम करता है:

NSLog(@"\e[1;31mRed text here\e[m normal text here"); 

(अधिक रंगों में उपलब्ध here)

नोट वास्तव में नियमित रूप से कंसोल में अपने उत्पादन को देखने के लिए है कि आप, के रूप में Xcode सांत्वना डिबगिंग प्रतीत नहीं होता रंग का समर्थन करने के लिए।

हालांकि, मैं इस के साथ काम करता नहीं लगता कि निर्मित Xcode कंसोल:

+0

मैं जो पूछ रहा था वह यह था कि यह वास्तव में सच है, कि एक्सकोड के डिबगिंग कंसोल में कोई रंग क्षमता नहीं है। अब तक जवाब हां प्रतीत होता है। –

+3

ओह ठीक है, तो मेरे पास कोई सुराग नहीं है, लेकिन ऐसा लगता है। निश्चित रूप से यह 'एनएसएलओजी' के साथ कोई मुद्दा नहीं है, क्योंकि एक्सकोड के कंसोल को 'printf()' रंग नहीं है ... – ayoy

+0

अरे प्रतीक्षा करें, आपने टर्मिनल को एक्सकोड के कंसोल के रूप में कैसे स्थापित किया? –

6

Ayoy का दृष्टिकोण printf साथ एक कमांड लाइन आधारित अनुप्रयोग में सामान्य रूप में काम करने के लिए लगता है:

यह:

NSLog(@"\e[1;31mRed text here\e[m normal text here"); 

... परिणाम इस में:

6

आप इस Xcode प्लगइन का उपयोग कर अपने NSLog उत्पादन colorize कर सकते हैं: https://github.com/DeepIT/XcodeColors

मैं my quick setup instructions and simple custom macros साथ कुछ लाइनें लिखी थी।

अद्यतन: अब मैं रंग समर्थन के साथ NSLogger का उपयोग कर रहा हूं। बहुत शक्तिशाली

+2

एक्सकोड 8 प्लग-इन के लिए कोई समर्थन नहीं है। :( – rr1g0

87

आप इस तरह अपने प्रवेश उत्पादन के लिए कुछ रंग जोड़ने के लिए Apple Color Emoji उपयोग कर सकते हैं:

if ([self isKindOfClass:[UITableViewController class]]) 
    NSLog(@" Table View controller Will appear: %@", NSStringFromClass([self class])); 
else if ([self isKindOfClass:[UINavigationController class]]) 
    NSLog(@" Navigation controller Will appear: %@", NSStringFromClass([self class])); 
else 
    NSLog(@" View controller Will appear: %@", NSStringFromClass([self class])); 

उपरोक्त कोड से गैर ओएस एक्स-प्लेटफार्मों पर गलत रूप में प्रदर्शित हो सकता है, मैं XCode का एक स्क्रीनशॉट संलग्न, कोड दिखा और लॉग उत्पादन:

Screenshot from X Code with Apple Color Emoji in code and log output

+1

कमाल !!, आपने अपना समय बचाया। यह रंगीन लॉगर्स का उपयोग करने से वास्तव में सरल और शक्तिशाली है। धन्यवाद (वोट दिया गया) –

+22

मैवरिक्स पर इमोजी टाइप करने के लिए - माउंटेन शेर पर कमांड + कंट्रोल + स्पेस - विकल्प + कमांड + टी –

+0

यह बहुत बढ़िया है! – codrut

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