class ReeLogger::MultiLogger
def log_event(level, message, parameters, exception, log_args)
def log_event(level, message, parameters, exception, log_args) return if @silenced if ![:error, :fatal].include?(level) if log_args begin method_binding = binding.of_caller(2) method_name = method_binding.eval('__method__') obj = method_binding.eval('self') args = {} obj.method(method_name).parameters.each do |_, name| args[name] = method_binding.local_variable_get(name) end args = transform_values(to_hash(args)) do |k, v| if @filter_words.any? { k.to_s.include?(_1) } 'FILTERED' else v end end parameters[:method] = {} parameters[:method][:name] = method_name parameters[:method][:args] = args rescue end end parameters = transform_values(parameters) do |k, v| if @filter_words.any? { k.to_s.include?(_1) } 'FILTERED' else v end end event = LogEvent.new(level, message, exception, parameters) appenders.each do |appender| if higher_or_equal_level?(event.level, appender.level) begin appender.append(event, @progname) rescue # fail silently if logger is not working by some reason end end end end