module Gemstash::Logging

Constants

LEVELS

Public Class Methods

logger() click to toggle source
# File lib/gemstash/logging.rb, line 47
def self.logger
  @logger ||= setup_logger($stdout)
end
reset() click to toggle source
# File lib/gemstash/logging.rb, line 51
def self.reset
  @logger.close if @logger
  @logger = nil
end
setup_logger(logfile) click to toggle source
# File lib/gemstash/logging.rb, line 33
def self.setup_logger(logfile)
  @logger = Logger.new(logfile, 2, 10_485_760)
  @logger.level = Logger::INFO
  @logger.datetime_format = "%d/%b/%Y:%H:%M:%S %z"
  @logger.formatter = proc do |severity, datetime, _progname, msg|
    if msg.end_with?("\n")
      "[#{datetime}] - #{severity} - #{msg}"
    else
      "[#{datetime}] - #{severity} - #{msg}\n"
    end
  end
  @logger
end

Public Instance Methods

log() click to toggle source
# File lib/gemstash/logging.rb, line 23
def log
  Gemstash::Logging.logger
end
log_error(message, error, level: :error) click to toggle source
# File lib/gemstash/logging.rb, line 27
def log_error(message, error, level: :error)
  log.add(LEVELS[level]) do
    "#{message} - #{error.message} (#{error.class})\n  #{error.backtrace.join("\n  ")}"
  end
end