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,
  'Fatal' => Logger::FATAL,
  'Unknown' => Logger::UNKNOWN
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of LoggerService.



17
18
19
20
21
22
# File 'lib/forest_admin_agent/services/logger_service.rb', line 17

def initialize(logger_level = 'Info', logger = nil)
  @logger_level = logger_level
  @logger = logger
  @default_logger = MonoLogger.new($stdout)
  @default_logger.level = get_level(@logger_level) || Logger::INFO
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



33
34
35
# File 'lib/forest_admin_agent/services/logger_service.rb', line 33

def get_level(level)
  LEVELS[level.to_s.capitalize]
end

#log(level, message) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/forest_admin_agent/services/logger_service.rb', line 24

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