class SemanticLogger::Base
def initialize(klass, level = nil, filter = nil)
end
(/\AExclude/ =~ log.message).nil?
def self.call(log)
module ComplexFilter
Module: A module that implements `.call`. For example:
The Proc must return true or false
Proc: Only include log messages where the supplied Proc returns true
regular expression. All other messages will be ignored
RegExp: Only include log messages where the class name matches the supplied
filter [Regexp|Proc|Module]
log messages when other appenders could be logging :info and lower
For example if set to :warn, this appender would only log :warn and :fatal
Only allow log entries of this level or higher to be written to this appender
level [Symbol]
are being logged
Name of the class, module, or other identifier for which the log messages
klass [String]
Parameters
Initializer for Abstract Class SemanticLogger::Base
def initialize(klass, level = nil, filter = nil) # Support filtering all messages to this logger instance. unless filter.nil? || filter.is_a?(Regexp) || filter.is_a?(Proc) || filter.respond_to?(:call) raise ":filter must be a Regexp, Proc, or implement :call" end @filter = filter.is_a?(Regexp) ? filter.freeze : filter @name = klass.is_a?(String) ? klass : klass.name if level.nil? # Allow the global default level to determine this loggers log level @level_index = nil @level = nil else self.level = level end end