2013-08-11 10 views
8

के बाद फ़ॉर्मेटर त्रुटि के लिए अपरिभाषित विधि 'टैग की गईं' रूबी स्क्रीनकास्ट मार्गदर्शिका का पालन करके मैंने रेल 3.2 से रेल 4 तक अपग्रेड किया है। मेरे परीक्षण चल रहे हैं और सर्वर शुरू होता है, फिर भी मैं एक त्रुटि प्राप्त जब मैं एक अनुरोध भेज:रेल 4 अपग्रेड

ERROR NoMethodError: undefined method `tagged' for #<Formatter:0x000000057f5dc8> 

/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/activesupport-4.0.0/lib/active_support/tagged_logging.rb:67:in `tagged' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/railties-4.0.0/lib/rails/rack/logger.rb:21:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/quiet_assets-1.0.2/lib/quiet_assets.rb:18:in `call_with_quiet_assets' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/actionpack-4.0.0/lib/action_dispatch/middleware/request_id.rb:21:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/activesupport-4.0.0/lib/active_support/cache/strategy/local_cache.rb:83:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/actionpack-4.0.0/lib/action_dispatch/middleware/static.rb:64:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/railties-4.0.0/lib/rails/engine.rb:511:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/railties-4.0.0/lib/rails/application.rb:97:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call' 
/home/mahoni/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service' 
/home/mahoni/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service' 
/home/mahoni/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run' 
/home/mahoni/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread' 

मुझे लगता है मैं कोड पर ध्यान दिया है, और यह मेरे लिए कोई मतलब नहीं है। यह logger.tagged पर कॉल करता है। परिवर्तनीय logger के पीछे ऑब्जेक्ट लॉगर नहीं है, लेकिन Formatter ऑब्जेक्ट है। यह अजीब है।

कोई विचार यह क्या कारण हो सकता है? अब तक मैं:

  • मेरी Gemfile.lock
  • gem update rails
  • bundle install
  • bundle update

में यह और विभिन्न आदेशों को नष्ट कर दिया। मैं इस से कैसे संपर्क कर सकता हूं?

उत्तर

11

क्या आप ग्राहक लॉगर का उपयोग कर रहे हैं?

config/environments/development.rb में चेक करें। यही वह जगह है जहां लॉगर आमतौर पर असाइन किया जाता है।

इसके अलावा, लॉगिंग से संबंधित बंदर पैच के लिए config/initializers देखें।

मैं क्रिस पॉवेल के लॉगर पैच का उपयोग कर रहा था, और इससे बहुत ही त्रुटि हुई।

आपको लगता है कि पैच उपयोग कर रहे हैं, वहाँ रेल 4 के लिए एक अद्यतन में से एक है: http://cbpowell.wordpress.com/2013/08/09/beautiful-logging-for-ruby-on-rails-4/

+0

महान जवाब। कॉन्फ़िगर/प्रारंभकर्ताओं में कस्टम लॉगर के साथ हमें एक ही समस्या थी। – welbornio

+0

धन्यवाद! खुशी है कि यह सहायक था। –

0

मैं भी एक ही त्रुटि थी लकड़हारा फिर से आरंभ करने से यह से छुटकारा मिला।

, config/initializers पर एक नई फ़ाइल जोड़ा गया यह

log_formatting.rb इस कोड के साथ कहा जाता है:

Rails.logger = ActiveSupport::Logger.new "log/mylog.log" 
Rails.logger.formatter = proc{|severity,datetime,progname,msg| 
    "[#{datetime.strftime("%Y-%m-%d %H:%M:%S")}] [#{severity}]: #{msg}\n" 
} 
संबंधित मुद्दे