Module: SmartLoggerWrapper::Options

Defined in:
lib/smart_logger_wrapper/options.rb,
lib/smart_logger_wrapper/options/to.rb,
lib/smart_logger_wrapper/options/base.rb,
lib/smart_logger_wrapper/options/with_position.rb,
lib/smart_logger_wrapper/options/append_backtrace.rb

Defined Under Namespace

Classes: AppendBacktrace, ApplicationError, Base, To, WithPosition

Constant Summary collapse

APPLY_CALLER_STACK_DEPTH =

XXX: Be careful! This relies strongly on the implementation of this class

2

Class Method Summary collapse

Class Method Details

.apply_all!(messages, severity, wrapper) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/smart_logger_wrapper/options.rb', line 12

def apply_all!(messages, severity, wrapper)
  [defined_appenders, defined_taggers, defined_redirectors].flatten.each do |option_key|
    if wrapper.options.include?(option_key)
      defined_options[option_key].apply!(messages, wrapper.options[option_key], severity, wrapper)
    end
  end
end

.define_appender(option_name, option_object) ⇒ Object



26
27
28
# File 'lib/smart_logger_wrapper/options.rb', line 26

def define_appender(option_name, option_object)
  define_option(option_name, option_object, defined_appenders)
end

.define_option(option_name, option_object, defined_option_keys) ⇒ Object



20
21
22
23
24
# File 'lib/smart_logger_wrapper/options.rb', line 20

def define_option(option_name, option_object, defined_option_keys)
  key = option_name.to_sym
  defined_option_keys.push(key)
  defined_options.merge!(key => option_object.new)
end

.define_redirector(option_name, option_object) ⇒ Object



34
35
36
# File 'lib/smart_logger_wrapper/options.rb', line 34

def define_redirector(option_name, option_object)
  define_option(option_name, option_object, defined_redirectors)
end

.define_tagger(option_name, option_object) ⇒ Object



30
31
32
# File 'lib/smart_logger_wrapper/options.rb', line 30

def define_tagger(option_name, option_object)
  define_option(option_name, option_object, defined_taggers)
end

.defined_appendersObject



38
39
40
# File 'lib/smart_logger_wrapper/options.rb', line 38

def defined_appenders
  @defined_appenders ||= []
end

.defined_option?(option_name) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/smart_logger_wrapper/options.rb', line 54

def defined_option?(option_name)
  defined_options.include?(option_name.to_sym)
end

.defined_optionsObject



50
51
52
# File 'lib/smart_logger_wrapper/options.rb', line 50

def defined_options
  @defined_options ||= {}
end

.defined_redirectorsObject



46
47
48
# File 'lib/smart_logger_wrapper/options.rb', line 46

def defined_redirectors
  @defined_redirectors ||= []
end

.defined_taggersObject



42
43
44
# File 'lib/smart_logger_wrapper/options.rb', line 42

def defined_taggers
  @defined_taggers ||= []
end