8

Ruby Screencast ガイドに従って、Rails 3.2 から Rails 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

これと異なる順序で。どうすればこれにアプローチできますか?

4

2 に答える 2

11

顧客ロガーを使用していますか?

チェックインしconfig/environments/development.rbます。これは通常、ロガーが割り当てられる場所です。

また、config/initializersロギング関連のモンキー パッチも探してください。

私は Chris Powell のロガー パッチを使用していましたが、非常によく似たエラーが発生しました。

そのパッチを使用している場合は、Rails 4 用に更新されたパッチがあります: http://cbpowell.wordpress.com/2013/08/09/beautiful-logging-for-ruby-on-rails-4/

于 2013-08-15T18:10:46.787 に答える