Sha256: 132040ff132ede613a5e4ddc3a4098b52b0746ba49682cd85cd066abea1c9abf
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true # module as namespace module Fusuma require 'logger' require 'singleton' # logger separate between stdout and strerr class MultiLogger < Logger include Singleton attr_reader :err_logger attr_accessor :debug_mode class << self attr_writer :filepath end def initialize filepath = self.class.instance_variable_get('@filepath') if filepath logfile = File.new(filepath, 'a') super(logfile) $stderr = logfile else super($stdout) end @err_logger = Logger.new($stderr) @debug_mode = false end def debug(msg) return unless debug_mode? super(msg) end def warn(msg) err_logger.warn(msg) end def error(msg) err_logger.error(msg) end def debug_mode? debug_mode end class << self def info(msg) instance.info(msg) end def debug(msg) instance.debug(msg) end def warn(msg) instance.warn(msg) end def error(msg) instance.error(msg) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fusuma-2.3.0 | lib/fusuma/multi_logger.rb |
fusuma-2.2.0 | lib/fusuma/multi_logger.rb |