Sha256: 5a33ba40a5d27d445bc465d3fcdc23f3d6b556c851e184c963aee1ea4e15cefc
Contents?: true
Size: 1.72 KB
Versions: 32
Compression:
Stored size: 1.72 KB
Contents
module Ridley module Logging class Logger < Logger def initialize(device = STDOUT) super self.level = Logger::WARN @filter_params = Array.new end # Reimplements Logger#add adding message filtering. The info, # warn, debug, error, and fatal methods all call add. # # @param [Fixnum] severity # an integer measuing the severity - Logger::INFO, etc. # @param [String] message = nil # the message to log # @param [String] progname = nil # the program name performing the logging # @param &block # a block that will be evaluated (for complicated logging) # # @example # log.filter_param("hello") # log.info("hello world!") => "FILTERED world!" # # @return [Boolean] def add(severity, message = nil, progname = nil, &block) severity ||= Logger::UNKNOWN if @logdev.nil? or severity < @level return true end progname ||= @progname if message.nil? if block_given? message = yield else message = progname progname = @progname end end @logdev.write( format_message(format_severity(severity), Time.now, progname, filter(message))) true end def filter_params @filter_params.dup end def filter_param(param) @filter_params << param unless filter_params.include?(param) end def clear_filter_params @filter_params.clear end def filter(message) filter_params.each do |param| message.gsub!(param.to_s, 'FILTERED') end message end end end end
Version data entries
32 entries across 32 versions & 1 rubygems