2011-08-31 14 views
5

मैं एक सुंदर पुराने रेल संस्करण का उपयोग करता हूं जो विरासत परियोजना के कारण 2.3.2 है।रेल कैश लॉग स्तर को अलग से कैसे सेट करें?

मैंने वैश्विक लॉग_लेवल सेट किया है: हमारे रेल ऐप में डीबग करें। लेकिन चूंकि हम भी Rails.cache लॉग फ़ाइल का उपयोग कष्टप्रद लाइनों से भरा जैसे
कैश पढ़ने हैं: ...
संचय गुम: ...

मैं सिर्फ इन को दबाने के लिए लेकिन 'अन्य अधिक प्रभावित नहीं चाहते उपयोगी 'जानकारी जैसे कि एसक्यूएल लॉगिंग।

यह कैसे करें?

+0

और एक और सामान्य सवाल यह है कि रेल में किसी विशिष्ट वर्ग के लिए लॉग स्तर को कैसे ट्वीक किया जाए? रूबी/रेल दुनिया में log4j के बराबर है? – kyrre

उत्तर

10

खैर, अपने कैश दुकान आरंभ के बाद अपने विशिष्ट environment.rb फ़ाइल में (नीचे उदाहरण में, मैं स्मृति की दुकान का उपयोग करें), आप cache_store की लॉग एक अलग फाइल रीडायरेक्ट कर सकते हैं और यह भी लकड़हारा स्तर tweak:

config.cache_store = ActiveSupport::Cache::MemoryStore.new(:expires_in => 5.minutes) 
config.cache_store.logger = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}_cache.log") 
config.cache_store.logger.level = Logger::INFO 

इसके अलावा, कैश स्टोर में मौन नामक एक विधि है! जो लॉगर बंद कर देगा: - |

config.cache_store.silence! 
+0

चुप्पी! पुरानी रेल में उपलब्ध नहीं है (मेरा संस्करण 2.3.2 है, और यह वहां नहीं है)। लेकिन पहला रास्ता मेरे गधे को बचाओ! धन्यवाद। कुछ अजीब मैं परिवर्तन करना होगा 'config.cache_store = है: file_store, 'tmp/कैश/aria'' को' config.cache_store = ActiveSupport :: कैश :: FileStore.new' tmp/कैश/aria'' और फिर अन्य 2 लाइनें जोड़ें। – kyrre

+0

यह दल्ली के साथ काम नहीं करता है। – pisaruk

+0

@pisaruk अब यह https://github.com/mperham/dalli/issues/207 – Turadg

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