module Backburner::Logger

Public Class Methods

included(base) click to toggle source

Loads in instance and class levels

# File lib/backburner/logger.rb, line 6
def self.included(base)
  base.extend self
end

Public Instance Methods

job_started_at() click to toggle source

Returns true if the job logging started

# File lib/backburner/logger.rb, line 26
def job_started_at
  Thread.current[:job_started_at]
end
log_error(msg) click to toggle source

Print an error to stderr

@example

log_error("Task failed!")
# File lib/backburner/logger.rb, line 44
def log_error(msg)
  logger ? logger.error(msg) : $stderr.puts(msg)
end
log_info(msg) click to toggle source

Print a message to stdout

@example

log_info("Working on task")
# File lib/backburner/logger.rb, line 35
def log_info(msg)
  logger ? logger.info(msg) : puts(msg)
end
log_job_begin(name, args) click to toggle source

Print out when a job is about to begin

# File lib/backburner/logger.rb, line 11
def log_job_begin(name, args)
  log_info "Work job #{name} with #{args.inspect}"
  Thread.current[:job_started_at] = Time.now
end
log_job_end(name, message = nil) click to toggle source

Print out when a job completed If message is nil, job is considered complete

# File lib/backburner/logger.rb, line 18
def log_job_end(name, message = nil)
  ellapsed = Time.now - job_started_at
  ms = (ellapsed.to_f * 1000).to_i
  action_word = message ? 'Finished' : 'Completed'
  log_info("#{action_word} #{name} in #{ms}ms #{message}")
end
logger() click to toggle source

Return logger if specified

# File lib/backburner/logger.rb, line 49
def logger
  Backburner.configuration.logger
end