module Ciri::Utils::Logger

Logger Example:

class A
  include Logger

  def initialize(name)
    @name = name
    debug("initial with name")
  end

  def greet
    puts "hello"
    debug("greeting hello")
  end

  # customize logging name
  def logging_name
    "#{super}:#{@name}"
  end
end

# don't forget initialize global logger
Ciri::Utils::Logger.setup(level: :debug)

Attributes

global_logger[R]

Public Class Methods

setup(level:) click to toggle source
# File lib/ciri/utils/logger.rb, line 59
def setup(level:)
  @global_logger = ::Logger.new(STDERR, level: level)
  global_logger.datetime_format = '%Y-%m-%d %H:%M:%S'
end

Protected Instance Methods

debug(message) click to toggle source
# File lib/ciri/utils/logger.rb, line 67
def debug(message)
  add(::Logger::DEBUG, message)
end
error(message) click to toggle source
# File lib/ciri/utils/logger.rb, line 75
def error(message)
  add(::Logger::ERROR, message)
end
info(message) click to toggle source
# File lib/ciri/utils/logger.rb, line 71
def info(message)
  add(::Logger::INFO, message)
end
logging_name() click to toggle source
# File lib/ciri/utils/logger.rb, line 79
def logging_name
  self.class.to_s
end

Private Instance Methods

add(severity, message = nil, progname = logging_name) click to toggle source
# File lib/ciri/utils/logger.rb, line 85
def add(severity, message = nil, progname = logging_name)
  Logger.global_logger&.add(severity, message, progname)
end