2

開発環境で実行されているRailsアプリが突然ログに記録されなくなり、その理由がわかりません。

新しいファイルにログインしてみました

config.logger = Logger.new('log/temp.log')
config.log_level = :debug

しかし、それでも運はありません。新しいファイルtemp.logが作成されましたが、ファイルには何も記録されていません。これは、nginxを実行している開発サーバーで発生します(このサーバーで「railss -d」を使用してrailsアプリを実行しています)。まったく同じファイルをローカルマシン(自分のコンピューター)で実行すると、ログは正常に機能します。

したがって、ロギングが機能しない理由は、サーバーに固有の理由によるものだと思いますが、サーバーでは何もしませんでした(たとえば、新しいgemをインストールしなかったなど)。ロギングは、数少ないまで正常に機能していました。数日前。

Railsコンソールに行くとき

rails c
> Rails.logger.debug "hello"
=> true

上記の設定ファイルで指定された「log/temp.log」に「hello」がログインします。

ログディレクトリやファイルの許可は大丈夫だと思います。他に何が間違っている可能性がありますか?

4

1 に答える 1

0

これは、ロガーへの呼び出しを削除した後に解決できる可能性があるロックの問題だと思います。

Redmine 1.x でこの問題に遭遇しました。production.log に newrelic_rpm エントリが見つかり、それが実行されなかったと書かれており、Redmine プラグインの初期化の行が 1 行ありました。

environment.rb (config.gem 行) から newrelic_rpm とプラグイン ロガーの初期化メッセージの両方を削除すると、ログ機能が復元され、ログ エントリが再び表示されるようになります。

于 2013-01-10T19:04:45.863 に答える