Rails環境にアクセスできるデーモンの実行に取り組んでいます。少し調べてみると、そうするときに処理する必要があることが2つあります。
- Rails データベースへの接続の再初期化
- Rails ロガーの再初期化
データベースへの接続を再初期化する必要があることは理解していますが、ロガーはそうではありません。Railsでデーモンを実行するのを少し簡単にすることを目的としたこのコードを見ました。、、、、のそれぞれRails
に対して新しい BufferedLogger インスタンスを作成します。ActiveRecord::Base
ActionController::Base
ActionMailer::Base
私には2つのことが不明です。
- 4 つの異なるロガーがあるのはなぜですか?
logger.info
コントローラー内のコードとモデル内のコードから呼び出す場合、同じ Rails ロガーを使用していませんか? - デーモンでロガーを再初期化する必要があるのはなぜですか? そうでない場合、ロガーがロックされていると言ってログを拒否していることに気付きました。しかし、なぜ?
私が発見したことの 1 つは、Rails ロガーを理解するのに苦労している人がかなり多いということです。このトピックを取り上げたブログ記事がすでにある場合は、お知らせください。