class Roqua::LogWrapper

Attributes

logger[R]

Public Class Methods

new(logger) click to toggle source
# File lib/roqua/support/log_wrapper.rb, line 7
def initialize(logger)
  @logger  = logger
end

Public Instance Methods

add(level, message, options = {}) click to toggle source
# File lib/roqua/support/log_wrapper.rb, line 11
def add(level, message, options = {})
  logger.send(level, "#{Roqua.appname}.#{message} #{options.to_json}".strip)
end
lifecycle(message, options = {}) { || ... } click to toggle source
# File lib/roqua/support/log_wrapper.rb, line 21
def lifecycle(message, options = {})
  started_at = Time.now.to_f
  info("#{message}:started", options)
  value = yield
  finished_at = Time.now.to_f
  duration = finished_at - started_at
  info("#{message}:finished", {duration: duration}.merge(options))
  value
rescue => e
  error("#{message}:failed", {exception: e.class.name, message: e.message}.merge(options))
  raise
end