Class: Logification::Logger

Inherits:
Object
  • Object
show all
Includes:
Helpers::LoggingMethods, Helpers::Wrapper
Defined in:
lib/logification/logger.rb

Constant Summary

Constants included from Helpers::LoggingMethods

Helpers::LoggingMethods::TAB

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers::Wrapper

#wrap

Methods included from Helpers::LoggingMethods

#debug, #error, #fatal, #info, #warn

Constructor Details

#initialize(options = {}) ⇒ Logger

Returns a new instance of Logger.



16
17
18
19
20
21
# File 'lib/logification/logger.rb', line 16

def initialize(options={})
  self.name = options[:name] || "logification"
  self.base_logger = options[:base_logger] || default_logger(@name)
  self.nested_count = options[:nested_count] || 0
  self.level = options[:level] || :debug
end

Instance Attribute Details

#base_loggerObject

Returns the value of attribute base_logger.



11
12
13
# File 'lib/logification/logger.rb', line 11

def base_logger
  @base_logger
end

#nameObject

Returns the value of attribute name.



11
12
13
# File 'lib/logification/logger.rb', line 11

def name
  @name
end

#nested_countObject

Returns the value of attribute nested_count.



11
12
13
# File 'lib/logification/logger.rb', line 11

def nested_count
  @nested_count
end

Instance Method Details

#default_logger(name) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/logification/logger.rb', line 23

def default_logger(name)
  Log4r::Logger.new(name).tap do |l|
    l.outputters = Log4r::Outputter.stdout.tap do |o|
      o.formatter = Log4r::PatternFormatter.new(pattern: "%d %.04l [%C] - %M")
    end
    l.level = translate_level(:debug)
  end
end

#duplicate(name, options = {}) ⇒ Object



45
46
47
48
# File 'lib/logification/logger.rb', line 45

def duplicate(name, options={})
  settings = current_settings.merge(options)
  self.class.new(settings.merge(name: name))
end

#levelObject



36
37
38
# File 'lib/logification/logger.rb', line 36

def level
  LOG4R_LEVEL_TRANSLATION.key(base_logger.level)
end

#level=(value) ⇒ Object



40
41
42
43
# File 'lib/logification/logger.rb', line 40

def level=(value)
  base_logger.level = translate_level(value)
  @level = value
end