Sha256: c1efed97d32dcce8ff42021fa798498a747b87a338f65ceeaf1b29b005ab43bd
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true require 'logger' module LicenseFinder class Logger MODE_QUIET = :quiet MODE_INFO = :info MODE_DEBUG = :debug attr_reader :mode def initialize(mode = nil) @system_logger = ::Logger.new($stdout) @system_logger.formatter = proc do |_, _, _, msg| "#{msg}\n" end self.mode = mode || MODE_INFO end [MODE_INFO, MODE_DEBUG].each do |level| define_method level do |prefix, string, options = {}| msg = format('%s: %s', prefix, colorize(string, options[:color])) log(msg, level) end end private attr_reader :system_logger def colorize(string, color) case color when :red "\e[31m#{string}\e[0m" when :green "\e[32m#{string}\e[0m" when :magenta "\e[35m#{string}\e[0m" else string end end def mode=(verbose) @mode = verbose return if quiet? level = @mode.equal?(MODE_DEBUG) ? ::Logger::DEBUG : ::Logger::INFO system_logger.level = level end def log(msg, method) return if quiet? system_logger.send(method, msg) end def debug? @mode.equal?(MODE_DEBUG) end def quiet? @mode.equal?(MODE_QUIET) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
license_finder-7.1.0 | lib/license_finder/logger.rb |
license_finder-7.0.1 | lib/license_finder/logger.rb |
license_finder-7.0.0 | lib/license_finder/logger.rb |