2011-11-28 15 views
12

मैं एक साधारण टोरनाडो एप्लिकेशन विकसित करना शुरू कर रहा हूं, और मैं विकसित होने पर stdout में अनुरोध लॉग देखना चाहता हूं। वर्तमान में मैं केवल 404 चेतावनी संदेश देखता हूं।टोरनेडो वेब सर्वर में stdout के अनुरोधों को लॉग इन करने के लिए कैसे?

क्या स्टडआउट में सभी अनुरोध मुद्रित करने का कोई तरीका है?

+0

'प्रिंट' उचित लॉगिंग समाधान – CrackerJack9

+3

सत्य का एक अच्छा विकल्प नहीं है। लेकिन मेरी आवश्यकता यहां उचित लॉगिंग समाधान नहीं थी, मुझे विकास के दौरान दृश्य प्रतिक्रिया प्राप्त करने के लिए केवल प्रिंट की आवश्यकता है – lfagundes

उत्तर

16

अपने अनुप्रयोग को यह करें:

import tornado.options 
tornado.options.parse_command_line() 

parse_command_line समारोह लॉगिंग सेट करता है। इसके बाद आप --logging=loglevel (उदा। डीबग)

3

क्यों print नहीं दे सकते? अनुरोध हैंडलर के अंदर print self.request कहीं भी उपयोग करें (शायद prepare विधि के अंदर)।

या बेहतर:

class BaseHandler(tornado.web.RequestHandler): 
    def prepare(self): 
     print self.request 

class SomeHandler(BaseHandler): 
    ... 

उपयोग आपके अनुरोध संचालकों के लिए एक आधार वर्ग और उसी समय से यह उपवर्ग।

+3

टॉरनाडो एसिंक्रोनस आईओ बनाता है, प्रिंट एक अवरुद्ध अनुरोध आईओ है, आपको हमेशा – 0x41ndrea

+1

ठीक से लॉगर का उपयोग करना चाहिए, लेकिन मैंने इसका उपयोग करने के बारे में सोचा केवल डीबगिंग उद्देश्यों के लिए। – fiatjaf

27

आप आप आवेदन करने के लिए इस जोड़ सकते हैं:

from tornado.log import enable_pretty_logging 
enable_pretty_logging() 

डिफ़ॉल्ट रूप से यह stdout के लिए लॉग लिखता है।

+1

धन्यवाद आदमी! यह बात है। फिर आप "tail -f /var/log/supervisor/tornado-stdout.log" --- या whatevver कर सकते हैं – OWADVL

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

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