2014-08-29 15 views
11

में लॉग संदेश कैसे मुद्रित करें मुझे आश्चर्य है कि मैं इसे पहले से ही नहीं ढूंढ पाया।रेल पर रूबी - रंग

मैं कंसोल पर जाने वाले अपने लॉग आउटपुट में स्ट्रिंग के विशिष्ट सेगमेंट रंगों को रंगने में सक्षम होना चाहता हूं। तो इस तरह somethng:

"This part of the message in Green: This part in Blue" 

संभवत: इस तरह लिखा:

Rails.logger.debug("This part of the message in Green: ".green + "This part in Blue".blue) 

उत्तर

27

मूल रूप से क्या तुम सिर्फ तुम एक नियमित रूप से रूबी में करते हैं करने के लिए अपने डिबग तार में एम्बेड किया गया है रंग के लिए एएनएसआई भागने दृश्यों, चाहते हैं कार्यक्रम। तरीकों स्ट्रिंग वर्ग के लिए सीधे जोड़ने के लिए

require 'rainbow' Rails.logger.debug(Rainbow("This message is Green").green)

या require mixin:

  1. rainbow मणि, जो आप ऐसा कर सकते हैं का प्रयोग करें: इस बारे में जाने के लिए कई तरीके हैं:

    require 'rainbow/ext/string' Rails.logger.debug("This is Green - ".green + "This is Blue".blue)

    इंद्रधनुष मणि स्वचालित रूप से जोड़ देगा स्ट्रिंग के लिए बचने के क्रम शुरू और समाप्त।

    :

    require 'colorize' Rails.logger.debug("This is Green - ".green + "This is Blue".blue)

  2. कुछ इस तरह का उपयोग कर अपने आप में भागने दृश्यों रखो,:

  3. colorize मणि, जो स्ट्रिंग वर्ग के लिए इंद्रधनुष mixin के रूप में एक ही बात करता है का उपयोग करें Rails.logger.debug("\033[32mThis message is Green\033[0m")

  4. स्ट्रिंग क्लास में अपना स्वयं का एक्सटेंशन लिखें। उदाहरण के लिए this answer या this answer देखें।

अधिक विचारों के लिए, देखें Colorized Ruby output

+1

बहुत बढ़िया! धन्यवाद! –

+0

बहुत अच्छा! धन्यवाद! – Neil

+2

'इंद्रधनुष' मणि का उपयोग करें, 'रंगीन' एक जंगली-असंगत लाइसेंस का उपयोग करता है। – Barry

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