module Startback::Support::Robustness::Tools
Included to avoid poluting the space of the including classes.
Public Class Methods
default_logger()
click to toggle source
# File lib/startback/support/robustness.rb, line 42 def default_logger @@default_logger ||= begin l = ::Logger.new(STDOUT) l.formatter = LogFormatter.new l.warn(op: "#{self}", op_data: { msg: "Using default logger", trace: caller }) @@default_logger = l end @@default_logger end
logger_for(arg)
click to toggle source
# File lib/startback/support/robustness.rb, line 53 def logger_for(arg) return arg if arg.is_a?(::Logger) return arg.logger if arg.is_a?(Context) && arg.logger return logger_for(arg.context) if arg.respond_to?(:context, false) default_logger end
parse_args(log_msg, method = nil, context = nil, extra = nil)
click to toggle source
# File lib/startback/support/robustness.rb, line 61 def parse_args(log_msg, method = nil, context = nil, extra = nil) method, context, extra = nil, method, context unless method.is_a?(String) context, extra = nil, context if context.is_a?(Hash) || context.is_a?(String) && extra.nil? extra = { op_data: { message: extra } } if extra.is_a?(String) logger = logger_for(context) || logger_for(log_msg) log_msg = if log_msg.is_a?(Hash) log_msg.dup elsif log_msg.is_a?(String) log_msg = { op: "#{log_msg}#{method.nil? ? '' : '#'+method.to_s}" } else log_msg = log_msg.class unless log_msg.is_a?(Module) log_msg = { op: "#{log_msg.name}##{method}" } end log_msg.merge!(extra) if extra [ log_msg, logger ] end
Private Instance Methods
default_logger()
click to toggle source
# File lib/startback/support/robustness.rb, line 42 def default_logger @@default_logger ||= begin l = ::Logger.new(STDOUT) l.formatter = LogFormatter.new l.warn(op: "#{self}", op_data: { msg: "Using default logger", trace: caller }) @@default_logger = l end @@default_logger end
logger_for(arg)
click to toggle source
# File lib/startback/support/robustness.rb, line 53 def logger_for(arg) return arg if arg.is_a?(::Logger) return arg.logger if arg.is_a?(Context) && arg.logger return logger_for(arg.context) if arg.respond_to?(:context, false) default_logger end
parse_args(log_msg, method = nil, context = nil, extra = nil)
click to toggle source
# File lib/startback/support/robustness.rb, line 61 def parse_args(log_msg, method = nil, context = nil, extra = nil) method, context, extra = nil, method, context unless method.is_a?(String) context, extra = nil, context if context.is_a?(Hash) || context.is_a?(String) && extra.nil? extra = { op_data: { message: extra } } if extra.is_a?(String) logger = logger_for(context) || logger_for(log_msg) log_msg = if log_msg.is_a?(Hash) log_msg.dup elsif log_msg.is_a?(String) log_msg = { op: "#{log_msg}#{method.nil? ? '' : '#'+method.to_s}" } else log_msg = log_msg.class unless log_msg.is_a?(Module) log_msg = { op: "#{log_msg.name}##{method}" } end log_msg.merge!(extra) if extra [ log_msg, logger ] end