2017-02-12 8 views
0

私のプロジェクトではrails 4.2.7delayed_job (4.0.6)delayed_job_active_record (4.0.3)を使用しています。私たちが直面している問題は、Delayed Jobがsqlクエリを毎分ログに記録するため、メインログファイルの透過性が低下し、Logmaticのサブスクリプション制限を超えてしまうことです。遅延ジョブは通常は自身のログに記録されますが、activerecordクエリはメインログに記録されます。ほとんどのエントリは次のようになります。ロギングを停止するRailsで遅延ジョブのアクティブレコードエントリ

(0.8ms) SELECT COUNT(*) FROM `delayed_jobs` WHERE (failed_at is not NULL) 
(0.5ms) SELECT COUNT(*) FROM `delayed_jobs` WHERE (locked_by is not NULL) 
(0.7ms) SELECT COUNT(*) AS count_all, `delayed_jobs`.`queue` AS delayed_jobs_queue FROM `delayed_jobs` WHERE (run_at <= '2017-02-12 23:18:18.094189' and failed_at is NULL) GROUP BY `delayed_jobs`.`queue` 
(0.8ms) SELECT COUNT(*) AS count_all, `delayed_jobs`.`priority` AS delayed_jobs_priority FROM `delayed_jobs` WHERE (run_at <= '2017-02-12 23:18:18.095817' and failed_at is NULL) GROUP BY `delayed_jobs`.`priority` 

以前の開発者は、ここで説明し、このdelayed_jobサイレンサー導入: How to ignore Delayed Job query logging in development on Rails を、クエリがまだステージングログにとLogmaticに記録されているので、動作するようには思えません。

これらのログを停止する方法はありますか(完全に消音できない場合は別のファイルにリダイレクトするなど)。 delayed_jobに関連しないエントリをログに残したいとします。

答えて

0

あなたは、このような初期化子内でのDJワーカーログログファイルに変更することができます。これは、あなたのメインのログをきれいにする必要があり

Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'delayed_job.log')) 

を。

編集:これがARログに影響しないことがわかりました。

デバッグの代わりにDJログレベルをinfoに設定しようとしましたか?

関連する問題