Class: ArcadiaLogger::Adapters::Logger

Inherits:
ArcadiaLogger::Adapter show all
Defined in:
lib/arcadia_logger/adapters/logger.rb

Constant Summary collapse

SEVERITY =
{
  debug: ::Logger::Severity::DEBUG,
  info: ::Logger::Severity::INFO,
  warn: ::Logger::Severity::WARN,
  error: ::Logger::Severity::ERROR,
  fatal: ::Logger::Severity::FATAL
}.freeze

Instance Method Summary collapse

Methods inherited from ArcadiaLogger::Adapter

#method_missing, #warn

Constructor Details

#initialize(logger: ::Logger.new(STDOUT)) ⇒ Logger

you can pass rails logger here (logger: Rails.logger)



16
17
18
# File 'lib/arcadia_logger/adapters/logger.rb', line 16

def initialize(logger: ::Logger.new(STDOUT))
  @logger = logger
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ArcadiaLogger::Adapter

Instance Method Details

#log(severity:, message:, **extra_data) ⇒ Object



20
21
22
# File 'lib/arcadia_logger/adapters/logger.rb', line 20

def log(severity:, message:, **extra_data)
  @logger.log(SEVERITY[severity] || ::Logger::Severity::UNKNOWN, "#{message} - #{extra_data}")
end