Module: Posgra::Logger::Helper

Instance Method Summary collapse

Instance Method Details

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



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/posgra/logger.rb', line 19

def log(level, message, options = {})
  global_options = @options || {}
  message = "#{@object_identifier}: #{message}" if @object_identifier
  message = "[#{level.to_s.upcase}] #{message}" unless level == :info

  if global_options[:dry_run] and options[:dry_run] != false
    message << ' (dry-run)' if global_options[:dry_run]
  end

  message = message.send(options[:color]) if options[:color]
  logger = global_options[:logger] || Posgra::Logger.instance
  logger.send(level, message)
end