दिलचस्प पोस्ट
जावास्क्रिप्ट आईई पता लगाने, क्यों नहीं सरल सशर्त टिप्पणियों का उपयोग करें? एएसपी एमवीसी दृश्य के अंदर AJAX.beginform का उपयोग करके डिवेल को अपडेट करें पायथन 'अनुरोध' मॉड्यूल के साथ प्रॉक्सी विजुअल स्टूडियो IDE में XSD के साथ एक्सएमएल सत्यापन XPATH का उपयोग करके पाठ खोजना & nbsp; JQuery या Google सीडीएन के लिए माइक्रोसॉफ्ट सीडीएन? प्रत्येक () फ़ंक्शन के अंदर एकाधिक AJAX कॉल करता है .. फिर एक बार सब कुछ खत्म हो गया है? नई पंक्ति डालने के बिना उपयोगकर्ता इनपुट प्राप्त करना संभव है? स्ट्रिंग c_str () बनाम डेटा () एक आसान तरीके से लॉगिंग में त्रुटि पायथन के साथ लिखी गई सीएसवी फाइल में प्रत्येक पंक्ति के बीच रिक्त पंक्तियाँ हैं गलत अनुमतियों के साथ बनाए गए Laravel दैनिक लॉग प्ले-सर्विसेज़ स्थान को एंड्रॉइड पिरमिशन.WRITE_EXTERNAL_STORAGE और android.permission.READ_EXTERNAL_STORAGE अनुमति की आवश्यकता क्यों है? एंड्रॉइड में ढाल के साथ पाठ क्या JSON कुंजियों को अनूठा होना चाहिए?

कंसोल में SQL लॉगिंग को अक्षम करें

जब मैं कंसोल में कमांड निष्पादित कर रहा हूं, तो क्या SQL क्वेरी लॉगिंग निष्क्रिय करने का कोई तरीका है? आदर्श रूप से, यह अच्छा होगा यदि मैं इसे अक्षम कर सकता हूं और इसे कंसोल में कमांड के साथ पुनः सक्षम कर सकता हूं।

मैं कुछ डिबग करने की कोशिश कर रहा हूं और कुछ संबंधित डेटा को प्रिंट करने के लिए "puts" का उपयोग कर रहा हूं। हालांकि, एसक्यूएल क्वेरी आउटपुट इसे पढ़ना कठिन बना रहा है


संपादित करें: मुझे एक और हल मिला, चूंकि लकड़हारा को सेट करने के बाद कभी-कभी कोई त्रुटि उत्पन्न हुई, अगर मेरे कोड के अलावा अन्य किसी को लकड़हारा कॉल करने की कोशिश की

लॉजर को nil के रूप में सेट करने के बजाय आप लॉगर का स्तर 1 सेट कर सकते हैं।

 ActiveRecord::Base.logger.level = 1 # or Logger::INFO 

वेब के समाधान से एकत्रित समाधान "कंसोल में SQL लॉगिंग को अक्षम करें"

इसे बंद करने के लिए:

 old_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = nil 

इसे वापस चालू करने के लिए:

 ActiveRecord::Base.logger = old_logger 

यहां एक भिन्नता है जो मुझे कुछ क्लीनर पर विचार करती है, जो अभी भी एआर से संभावित अन्य लॉगिंग की अनुमति देता है Config / environment / development.rb में:

 config.after_initialize do ActiveRecord::Base.logger = Rails.logger.clone ActiveRecord::Base.logger.level = Logger::INFO end 

यह कंसोल के लिए एक उपयुक्त समाधान नहीं हो सकता है, लेकिन रेल इस समस्या के लिए एक विधि है: लकड़हारा # मौन

 ActiveRecord::Base.logger.silence do # the stuff you want to be silenced end 

अगर कोई वास्तव में SQL कथन लॉगिंग (लॉगिंग स्तर को बदलने के बिना, और अपने एआर मॉडलों से प्रवेश रखते हुए) को बाहर करना चाहता है:

लॉग को लिखने वाली रेखा ( lib/active_record/log_subscriber.rb:50 रेल में, वैसे भी) lib/active_record/log_subscriber.rb:50 में debug करने के लिए कॉल है।

उस डीबग विधि को ActiveSupport::LogSubscriber द्वारा परिभाषित किया गया है।

तो हम इस तरह से इसे ओवरराइट करके लॉगिंग को बाहर कर सकते हैं:

 module ActiveSupport class LogSubscriber def debug(*args, &block) end end end 

रेलवे 4 के लिए आप निम्न में एक पर्यावरण फ़ाइल डाल सकते हैं:

 # /config/environments/development.rb config.active_record.logger = nil 

रेल में 3.2 मैं कॉन्फिग / पर्यावरण / विकास में इस तरह कुछ कर रहा हूँ। आरबी:

 module MyApp class Application < Rails::Application console do ActiveRecord::Base.logger = Logger.new("#{Rails.root}/log/development.log") end end end 

मैं इसका इस्तेमाल करता हूं: config.log_level = :info edit-in config/environments/performance.rb

मेरे लिए महान काम करना, SQL आउटपुट को खारिज करना, और केवल रेंडरिंग और महत्वपूर्ण जानकारी दिखाएं