加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rake:记录执行的任务

发布时间:2020-12-16 19:26:52 所属栏目:百科 来源:网络整理
导读:如何在不改变任务源的情况下为每个耙子任务创建数据库日志记录?我需要存储datetime,任务名称,参数.有什么样的观察者吗? 解决方法 您可以覆盖application.rb中的Rake :: Task#invoke方法: #application.rbmodule Rake class Task alias_method :origin_inv
如何在不改变任务源的情况下为每个耙子任务创建数据库日志记录?我需要存储datetime,任务名称,参数.有什么样的观察者吗?

解决方法

您可以覆盖application.rb中的Rake :: Task#invoke方法:
#application.rb
module Rake
  class Task
    alias_method :origin_invoke,:invoke if method_defined?(:invoke)
    def invoke(*args)
      logger = Logger.new('rake_tasks_log.log')
      logger.info "#{Time.now} -- #{name} -- #{args.inspect}"
      origin_invoke(*args)
    end
  end
end

耙测试输出:

2011-05-27 16:57:42 +0300 -- test -- []
2011-05-27 16:57:42 +0300 -- test:units -- []
2011-05-27 16:57:51 +0300 -- db:test:load -- []
2011-05-27 16:57:51 +0300 -- db:schema:load -- []
2011-05-27 16:58:19 +0300 -- test:functionals -- []
2011-05-27 16:58:49 +0300 -- test:integration -- []

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读