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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rake:记录执行的任务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在不改变任务源的情况下为每个耙子任务创建数据库日志记录?我需要存储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 -- []

猜你在找的Ruby相关文章