2011-06-18 26 views
4

Resqueジョブは単純な古いルビーオブジェクトです。それらの内部でputsコールを使用して出力をコンソールに出力したり、標準のRuby LoggerクラスをSTDOUTでインスタンス化して使用することができます。バックグラウンド(Resque)ジョブからのログ出力を書き込むための「正しい」方法はありますか?

しかし、コントローラやモデルではない場所から、Railsにログインする正しい方法がありますか?私はRails.loggerBufferedLoggerを返しますが、infoまたはwarnなどを呼び出すと何も起こりません。 flushを呼び出すと空の配列が返され、何も出力されません。

ここでの規約は何ですか?

答えて

0

私は実際には慣習があるとは確信していません。私はちょうど最近まで、かなり醜いログシステムを持っていました。現在はlumberを使用してlog4rをRailsに統合しています。これは、ロガーに名前を付けました(たとえば、ロガーがクラス名にマッチする、出力をフィルタリングするなど)ので、ロガーごとに(つまりクラスごとに)ログレベルを制御できます。

ログを集約するためにgraylog2を使用する場合は、log4rにはGELF adapterもあります。

関連する問題