Class: Roqua::LogWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/roqua/support/log_wrapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger) ⇒ LogWrapper

Returns a new instance of LogWrapper.



7
8
9
# File 'lib/roqua/support/log_wrapper.rb', line 7

def initialize(logger)
  @logger  = logger
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



5
6
7
# File 'lib/roqua/support/log_wrapper.rb', line 5

def logger
  @logger
end

Instance Method Details

#add(level, message, options = {}) ⇒ Object



11
12
13
# 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 = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# 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