Class: ForestAdminAgent::Services::LoggerService

Inherits:
Object
  • Object
show all
Defined in:
lib/forest_admin_agent/services/logger_service.rb

Constant Summary collapse

LEVELS =
{
  'Info' => Logger::INFO,
  'Debug' => Logger::DEBUG,
  'Warn' => Logger::WARN,
  'Error' => Logger::ERROR
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger_level = 'Info', logger = nil) ⇒ LoggerService

Returns a new instance of LoggerService.



15
16
17
18
19
# File 'lib/forest_admin_agent/services/logger_service.rb', line 15

def initialize(logger_level = 'Info', logger = nil)
  @logger_level = logger_level
  @logger = logger
  @default_logger = MonoLogger.new($stdout)
end

Instance Attribute Details

#default_loggerObject (readonly)

Returns the value of attribute default_logger.



6
7
8
# File 'lib/forest_admin_agent/services/logger_service.rb', line 6

def default_logger
  @default_logger
end

Instance Method Details

#get_level(level) ⇒ Object



30
31
32
# File 'lib/forest_admin_agent/services/logger_service.rb', line 30

def get_level(level)
  LEVELS[level]
end

#log(level, message) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/forest_admin_agent/services/logger_service.rb', line 21

def log(level, message)
  if @logger
    eval(@logger).call(get_level(level), message)
  else
    @default_logger.add(get_level(level), message)
  end
  @logger || @default_logger
end