class ElasticLogger::Logger

Attributes

name[R]

Public Class Methods

new(name, log_level = nil) click to toggle source
# File lib/elastic-logger/logger.rb, line 7
def initialize(name, log_level = nil)
  @name = name.to_s
  @log_level = log_level
end

Public Instance Methods

level=(level) click to toggle source
# File lib/elastic-logger/logger.rb, line 31
def level=(level)
  @log_level = level
end
log(msg, severity = 'unknown') click to toggle source
# File lib/elastic-logger/logger.rb, line 24
def log(msg, severity = 'unknown')
  return true if skip_logging?(severity)

  writer.log(severity, format_message(msg))
  true
end

Private Instance Methods

config() click to toggle source
# File lib/elastic-logger/logger.rb, line 50
def config
  @config ||= ::ElasticLogger.configuration
end
format_message(msg) click to toggle source
# File lib/elastic-logger/logger.rb, line 54
def format_message(msg)
  ::ElasticLogger::MessageParser.new.(msg)
end
log_level() click to toggle source
# File lib/elastic-logger/logger.rb, line 62
def log_level
  @log_level ||= log_type.fetch('level', 'info')
end
log_levels() click to toggle source
# File lib/elastic-logger/logger.rb, line 70
def log_levels
  @log_levels ||= Hash.new do |hash, key|
    lvl = key.is_a?(Integer) ? key : ::Logger.const_get(key.to_s.upcase)
    hash[key] = lvl
  end
end
log_name() click to toggle source
# File lib/elastic-logger/logger.rb, line 46
def log_name
  [config.prefix, name].map(&:to_s).reject(&:empty?).join("_")
end
log_type() click to toggle source
# File lib/elastic-logger/logger.rb, line 66
def log_type
  @log_type ||= ::ElasticLogger::Types.new.find(name)
end
log_writer() click to toggle source
# File lib/elastic-logger/logger.rb, line 58
def log_writer
  log_type.fetch('writer')
end
skip_logging?(severity) click to toggle source
# File lib/elastic-logger/logger.rb, line 38
def skip_logging?(severity)
  log_levels[severity] < log_levels[log_level]
end
writer() click to toggle source
# File lib/elastic-logger/logger.rb, line 42
def writer
  Object.const_get(log_writer).new(name: log_name, config: config)
end