module LogStashLogger::SilencedLogging
Public Class Methods
extended(logger)
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 21 def self.extended(logger) class << logger attr_accessor :silencer alias_method :level_without_thread_safety, :level alias_method :level, :level_with_thread_safety alias_method :add_without_thread_safety, :add alias_method :add, :add_with_thread_safety Logger::Severity.constants.each do |severity| instance_eval <<-EOT, __FILE__, __LINE__ + 1 def #{severity.downcase}? # def debug? Logger::#{severity} >= level # DEBUG >= level end # end EOT end end logger.instance_eval do self.silencer = true end end
Public Instance Methods
add_with_thread_safety(severity, message = nil, progname = nil, &block)
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 55 def add_with_thread_safety(severity, message = nil, progname = nil, &block) if (defined?(@logdev) && @logdev.nil?) || (severity || UNKNOWN) < level true else add_without_thread_safety(severity, message, progname, &block) end end
level_with_thread_safety()
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 51 def level_with_thread_safety thread_level || level_without_thread_safety end
silence(temporary_level = Logger::ERROR) { |self| ... }
click to toggle source
Silences the logger for the duration of the block.
# File lib/logstash-logger/silenced_logging.rb, line 64 def silence(temporary_level = Logger::ERROR) if silencer begin self.thread_level = temporary_level yield self ensure self.thread_level = nil end else yield self end end
thread_level()
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 43 def thread_level Thread.current[thread_hash_level_key] end
thread_level=(level)
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 47 def thread_level=(level) Thread.current[thread_hash_level_key] = level end
Private Instance Methods
thread_hash_level_key()
click to toggle source
# File lib/logstash-logger/silenced_logging.rb, line 79 def thread_hash_level_key @thread_hash_level_key ||= :"ThreadSafeLogger##{object_id}@level" end