2009-06-18 19 views
44

मेरी टीम का एक सदस्य विंडोज एक्सपी पर एक रेल ऐप विकसित कर रहा है। हम पाते हैं कि जब हम ऐप चलाते हैं, या तो इसे नेटबीन के भीतर लॉन्च करते हैं या कंसोल खोलकर script/server पर कॉल करते हैं, तो रेल विकास लॉग स्क्रॉल नहीं करता है। केवल वेब्रिक स्टार्टअप संदेश है। ऐप निश्चित रूप से चल रहा है, लेकिन जब हम ब्राउज़र में विभिन्न पृष्ठों को हिट करते हैं तो हम किसी भी लॉगिंग आउटपुट को नहीं देख रहे हैं।हम रेल विकास लॉग कैसे देख सकते हैं?

जब मैं अपने ओएस एक्स सिस्टम पर एक समान ऐप को देखता हूं, तो आउटपुट लॉगिंग अपेक्षित के रूप में काम करता है।

मैंने यह सुनिश्चित किया कि यह रेल "विकास" वातावरण में चल रहा है।

किसी भी विचार को लॉगिंग क्यों दबाया जाएगा?

क्या पर्यावरण.आरबी फ़ाइल के लिए कॉन्फ़िगर पैराम हैं जो इसे प्रभावित करेंगे?

+8

विंडोज़ का उपयोग करने के लिए बुरा विचार। – bmalets

उत्तर

99

log/ निर्देशिका में देखें - development.log होना चाहिए। मुझे यकीन है कि आपका आउटपुट वहां है।

यदि यह नहीं है, तो सुनिश्चित करें कि निर्देशिका लिखने योग्य है।

जब आप दौड़ रहे हों, तो इसे कैसे देखें: यदि आपके पास गिट बैश इंस्टॉल है, या सिगविन जैसे कुछ अन्य खोल हैं, तो आप एक खोल खोल सकते हैं और tail -f log/development.log कर सकते हैं जो लॉग को स्क्रॉल करेगा क्योंकि इसमें सामान शामिल है यह।

+0

अरे सारा! धन्यवाद, हाँ, मैंने उसे गिट बैश कंसोल विंडो के साथ पूंछ-एफ चलाने के लिए सेट किया। हालांकि, यह मुझे पहेली करता है कि वेब्रिक उन सभी रेल लॉगिंग आउटपुट को stdout पर नहीं भेज रहा है। मैंने सोचा कि डिफ़ॉल्ट रूप से ऐसा होना चाहिए था। – Ethan

+0

हाँ, यह अजीब है। जब मैं निर्देशिका में रूबी स्क्रिप्ट/सर्वर चलाता हूं (गिट बैश में, एक्सपी प्रो पर) मैं आउटपुट देखता हूं। मैंने इसे "रूबी" के साथ और बिना cmd.exe में भी कोशिश की। प्रत्येक बार जब तक यह आउटपुट करने के लिए उत्पादन की खिड़की से भरा हुआ था, तब तक इंतजार किया गया था। रेल/रूबी/वेबब्रिक का क्या संस्करण? मैं 2.3.2/1.8.6/1.3.1 पर हूं। –

+0

2.3.2/1.8.6/WEBrick के बारे में निश्चित नहीं है - इस समय मुझे उस XP मशीन तक पहुंच नहीं है। – Ethan

2

मैं हमेशा लॉग देखने के लिए log/development.log का उपयोग करता हूं। बस tail -f यह साइगविन या कुछ का उपयोग कर रहा है।

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

7

Rails Configuration दस्तावेज़ीकरण से पता चलता है कि आपके पास log_level आपके कॉन्फ़िगरेशन में :debug के अलावा कुछ और सेट हो सकता है।

अनुरोध देखने के लिए एक वैकल्पिक स्थान भी है: लॉग/develop.log फ़ाइल आपके रेल ऐप में। यदि वहां कुछ भी लिखा नहीं गया है, तो आपकी समस्या कॉन्फ़िगरेशन में होनी चाहिए। एक * निक्स सिस्टम पर मैं चलाऊंगा:

$ tail -f log/development.log 

और अनुरोधों को देखें। वे मुझे बताते हैं कि Windows version of tail है।

1

वेब्रिक के स्रोत में खोदने के बिना, मुझे संदेह है कि प्रदर्शित जानकारी की मात्रा डिफ़ॉल्ट रूप से बड़ी नहीं है। क्या आप वाकई ओएसएक्स पर वीब्रिक चला रहे हैं और मंगल नहीं?

वास्तव में, क्या वीब्रिक का उपयोग जारी रखने के लिए कोई विशेष कारण है? फ़्यूज़न पैसेंजर के आगमन से पहले, मोंगल डी फैक्टो पसंद के फ्रंट-एंड सर्वर बन गया था, और यह विंडोज़ पर ठीक काम करता है। यदि आप इसे इंस्टॉल करते हैं (gem install mongrel) तो रेल डिफ़ॉल्ट रूप से इसका उपयोग करेंगे।

मेरे विकास के माहौल में, वेब्रिक चल रहा है (मुझे पता चला कि यह कितना लंबा रहा है) मुझे बहुत संक्षिप्त आउटपुट मिला: "जीईटी" अनुरोध का सिर्फ एक रिकॉर्ड। Mongrel पर स्विचिंग, मुझे पूरा काम मिला: अनुरोध, पैरामीटर, एसक्यूएल, समय इत्यादि।

+0

धन्यवाद। यह वास्तव में सहायक है। हाँ, मेरी ओएस एक्स मशीन पर Mongrel चल रहा है। मेरा सहकर्मी का एक्सपी सिस्टम वीब्रिक चला रहा है। मैं वहाँ Mongrel स्थापित करने की कोशिश करेंगे। – Ethan

2

नेटबैन कंसोल विंडो में देव लॉग प्रदर्शित करना बंद कर देता है जब देव लॉग बहुत बड़ा हो जाता है।मुझे ऐसा अनुभव हुआ।

6
less -R log/development.log 

मैंने अभी इसका उपयोग करना शुरू कर दिया है।

3

विकास लॉग प्राप्त करने के लिए इस प्रयास करें,:

tail -f log/development.log 

सुनिश्चित करें कि आप आवेदन पथ में हैं।

1

मैं ग्रेप

tail -f log/development.log | grep Started -A 1 

वर्क्स खूबसूरती से साथ पूंछ का उपयोग करें।

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