17

rails logger で奇妙な現象が発生しています。

Rails.logger.info("Some text") をコードに挿入すると、通常はフローをトレースするために、コンソールに 2 行の "Some text" 出力が表示されます。

これは通常は大きな問題ではありませんが、大きなオブジェクトの内容をダンプすると、出力が煩雑になることがあります。

これは、Rails 4 にアップグレードする前には発生していないようでした。少なくとも、発生したことを覚えていません。

ここで何が起こっているのか、ログ出力の複製を停止する方法があるかどうかを知っている人はいますか?

4

2 に答える 2

1

この小さな回避策で問題が解決しました。次の手順を実行します:

Rails External Libraries で railties モジュールを検索します。次のパスに移動します: /lib/commands/server.rb

このファイルで、この行にコメントを付けます Rails.logger.extend(ActiveSupport::Logger.broadcast(console))

このコマンドはブロードキャストをオフにし、Rails サーバーを再起動するだけです。繰り返されるログは表示されなくなります。ハッピーコーディング。

詳細については、レールのこの問題ページをチェックしてください: https://github.com/heroku/rails_stdout_logging/issues/1

于 2014-09-19T17:15:40.800 に答える