私のプロジェクトではrails 4.2.7
とdelayed_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
に関連しないエントリをログに残したいとします。