停止记录 Rails 中的延迟作业活动记录条目
Stop logging Delayed Job active record entries in Rails
我的项目使用 rails 4.2.7
与 delayed_job (4.0.6)
和 delayed_job_active_record (4.0.3)
。我们面临的问题是 Delayed Job 大约每分钟记录一次它的 sql 查询,这使得主日志文件的透明度降低并耗尽了我们的 Logmatic 订阅限制。 Delayed Job 正常记录到它自己的日志,但它的 activerecord 查询最终在主日志中。大多数条目如下所示:
(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
无关的条目。
您可以像这样更改 DJ 工作人员登录初始化程序的日志文件:
Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'delayed_job.log'))
这应该会清理您的主日志。
编辑:刚看到这不会影响 AR 日志。
您是否尝试过将 DJ 日志级别设置为信息而不是调试?
我的项目使用 rails 4.2.7
与 delayed_job (4.0.6)
和 delayed_job_active_record (4.0.3)
。我们面临的问题是 Delayed Job 大约每分钟记录一次它的 sql 查询,这使得主日志文件的透明度降低并耗尽了我们的 Logmatic 订阅限制。 Delayed Job 正常记录到它自己的日志,但它的 activerecord 查询最终在主日志中。大多数条目如下所示:
(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
无关的条目。
您可以像这样更改 DJ 工作人员登录初始化程序的日志文件:
Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'delayed_job.log'))
这应该会清理您的主日志。
编辑:刚看到这不会影响 AR 日志。
您是否尝试过将 DJ 日志级别设置为信息而不是调试?