Sha256: 2cf12f244e0980cb16f8d577d78e4ad84253ffa1ff8846b37b669e7dfdbfc994
Contents?: true
Size: 1.41 KB
Versions: 24
Compression:
Stored size: 1.41 KB
Contents
require 'logger' module FeduxOrg module Stdlib module Logging class Logger extend ::Forwardable def_delegators :@logger, :fatal, :warn, :debug, :info, :error, :unknown attr_reader :mode def initialize @logger = ::Logger.new($stderr) self.mode = :info end def mode=(m) @mode = m case m when :debug @logger.level = ::Logger::DEBUG format_debug when :silent @logger.level = ::Logger::SILENT when :info @logger.level = ::Logger::INFO format_standard else @logger.level = ::Logger::INFO format_standard end end private def format_debug @logger.formatter = proc { |severity, datetime, progname , msg| debug_msg("%s %s %s: %s\n" % [ datetime, severity, progname, msg ]) } end def format_standard @logger.formatter = proc { |severity, datetime, _, msg| info_msg( "%s %s: %s\n" % [ datetime, severity, msg ] ) } end def error_msg(msg) ANSI.red(msg) end def info_msg(msg) msg end def debug_msg(msg) msg end end end end end class ::Logger SILENT = 9999 unless defined? SILENT end
Version data entries
24 entries across 24 versions & 1 rubygems