Sha256: 4ff6c13addb4594c275dcd6d0777478c3d5de554ee524e37818b61a624c2e4bd

Contents?: true

Size: 619 Bytes

Versions: 2

Compression:

Stored size: 619 Bytes

Contents

module TaskLogger
  include ServiceLogger

  def task_log(task, args)
    begin
      start_time = Time.now
      errors = nil

      yield

    rescue => e
      errors = { message: e.message, error_type: e.class.to_s }
    ensure
      end_time = Time.now
      duration = end_time - start_time

      service_log(
        'RAKE_TASK',
        {
          task_name: task.name,
          arguments: args,
          starts_at: start_time.to_s(:iso8601),
          ends_at: end_time.to_s(:iso8601),
          duration: duration,
          errors: errors
        }
      )
    end
  end

  module_function :task_log
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
service_logger-1.4.2 lib/task_logger.rb
service_logger-1.4.1 lib/task_logger.rb