2011-01-25 12 views
12

मैं अपने रेक कार्यों के भीतर सेमानक रेक कार्यों (rails2)

Rails.logger.debug "हैलो दुनिया" कर जब मैं इसे बाहर मानक के प्रवेश करना चाहते हैं से बाहर का उपयोग करने के रेल लकड़हारा परिवर्तित करने का तरीका।

मैं अपने रेक कार्य के भीतर से लॉगजर.न्यू (STDOUT) में रेल लॉगर कैसे सेट करूं?

मैं चाहता हूं कि मेरे ऐप को नियंत्रकों के माध्यम से आने पर फ़ाइल में लॉग ऑन करना पड़े, बस मेरी निगरानी स्थापित होने के तरीके के कारण रेक कार्यों को बाहर निकलना चाहते हैं।

मैं सोच रहा था कि मैं एक और वातावरण को परिभाषित कर सकता हूं और उस कॉन्फ़िगरेशन का उपयोग कर सकता हूं, लेकिन शायद अधिकतर, मैं प्रत्येक env में सभी वातावरण वातावरण चाहता हूं, बस अपने लॉग गंतव्य का स्थान बदलना चाहता हूं।

अभी के लिए मेरे पास एक लॉग सहायक है जो रखता है, लेकिन मैं रेल लॉग और बफरिंग के स्वरूपण का लाभ उठाना चाहता हूं।

 
RAILS_DEFAULT_LOGGER = Logger.new(STDOUT) 

तुम भी (ActiveRecord, ActionController ...) इस तरह आपके आवेदन के विशिष्ट भागों के लिए लकड़हारा सेट कर सकते हैं:

उत्तर

6

आप डिफ़ॉल्ट लकड़हारा इस तरह से रीसेट कर सकते हैं

 
ActiveRecord::Base.logger = Logger.new(STDOUT) 
+0

इस की कोशिश की और मिल गया: /lib/tasks/fetch_influencers.rake:4: गतिशील लगातार काम RAILS_DEFAULT_LOGGER = Logger.new (STDOUT) (मैं अपने समाधान rails3 में काम करता है लगता है, मैं एक rails2 की जरूरत समाधान) – Joelio

+0

क्या यह एक चेतावनी या त्रुटि थी? यदि आप ऐसा करते हैं तो आपको चेतावनी मिलेगी क्योंकि आप निरंतर बदल रहे हैं, लेकिन आपको अभी भी ऐसा करने में सक्षम होना चाहिए। –

+1

lib/functions/fetch_data.rake: 4: गतिशील निरंतर असाइनमेंट RAILS_DEFAULT_LOGGER = Logger.new (STDOUT) – Joelio

9

मैंने अभी Rails.logger = Logger.new(STDOUT) किया है और यह भी काम करता है (रेल 3)

0

रेल के साथ 4 आप मणि rails_12factor का उपयोग करेंगे। इसे अपने Gemfile और voilà में रखें! मणि 'rails_12factor_'

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