1

staging.logが見つからないため、起動時にherokuステージングアプリがクラッシュします。すべてをdevelopment.logに出力するだけなので、これはかなり奇妙に思えます。そのため、何が起こっているのか正確にはわかりません。

どんな助けでも大歓迎です!ありがとう!

スタックトレースは次のとおりです。

2012-04-18T19:20:36+00:00 heroku[web.1]: State changed from crashed to created
2012-04-18T19:20:36+00:00 heroku[web.1]: State changed from created to starting
2012-04-18T19:20:37+00:00 heroku[slugc]: Slug compilation finished
2012-04-18T19:20:40+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 49887`
2012-04-18T19:20:46+00:00 app[web.1]: => Booting WEBrick
2012-04-18T19:20:46+00:00 app[web.1]: => Rails 3.0.3 application starting in staging on http://0.0.0.0:49887
2012-04-18T19:20:46+00:00 app[web.1]: => Call with -d to detach
2012-04-18T19:20:46+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-04-18T19:20:46+00:00 app[web.1]: Exiting
2012-04-18T19:20:46+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/rack/log_tailer.rb:8:in `size': No such file or directory - log/staging.log (Errno::ENOENT)
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/rack/log_tailer.rb:8:in `initialize'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:247:in `new'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:247:in `block in build_app'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:243:in `reverse_each'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:243:in `build_app'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:253:in `wrapped_app'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:204:in `start'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands/server.rb:65:in `start'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:30:in `block in <top (required)>'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
2012-04-18T19:20:46+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `<top (required)>'
2012-04-18T19:20:46+00:00 app[web.1]:   from script/rails:6:in `require'
2012-04-18T19:20:46+00:00 app[web.1]:   from script/rails:6:in `<main>'
2012-04-18T19:20:47+00:00 heroku[web.1]: Process exited with status 1
2012-04-18T19:20:47+00:00 heroku[web.1]: State changed from starting to crashed
4

3 に答える 3

2

アプリは、サーバー上のファイルではなく、STDOUTにログを出力する必要があります。詳細については、Dev Centerのロギング記事を参照してください:https ://devcenter.heroku.com/articles/logging

Herokuは、デプロイ時にrails_log_stdoutをアプリに自動的に挿入します。これにより、Railsのデフォルトのログが修正されるため、ここでそれが発生しない理由はわかりません。Herokuにデプロイすると、次の行が出力されますか?

-----> Rails plugin injection
   Injecting rails_log_stdout
   Injecting rails3_serve_static_assets
于 2012-04-18T20:24:49.983 に答える
1

config / environment / staging.rbファイルがある場合は、RACK_ENVとRAILS_ENVの両方が「staging」に設定されていることを確認してください。

heroku config:add RACK_ENV=staging --app myapp-staging
heroku config:add RAILS_ENV=staging --app myapp-staging
于 2012-05-22T04:21:06.943 に答える
0

実行する環境を指定するProcfileはありますか?これがHerokuで必要とされるとは思いませんが、特に環境を指定することができます。

于 2012-04-18T20:10:52.353 に答える