class Logger::Joint
Constants
- VERSION
Public Class Methods
new(primary_logger, secondary_logger)
click to toggle source
# File lib/logger/joint.rb, line 24 def initialize(primary_logger, secondary_logger) self.class.respond_as_logger? primary_logger or raise TypeError, 'primary is not a logger.' self.class.respond_as_logger? secondary_logger or raise TypeError, 'secondary is not a logger.' @primary = primary_logger @secondary = secondary_logger end
respond_as_logger?(object)
click to toggle source
methods common to Logger
and Syslog::Logger are need for.
# File lib/logger/joint.rb, line 7 def self.respond_as_logger?(object) [ :level, :add, :debug, :info, :warn, :error, :fatal, :unknown, :debug?, :info?, :warn?, :error?, :fatal? ].all?{|name| object.respond_to? name } end
Public Instance Methods
add(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 42 def add(*args, &block) apply_method(:add, *args, &block) end
debug(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 46 def debug(*args, &block) apply_method(:debug, *args, &block) end
debug?()
click to toggle source
# File lib/logger/joint.rb, line 75 def debug? apply_level_predicate(:debug?) end
error(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 58 def error(*args, &block) apply_method(:error, *args, &block) end
error?()
click to toggle source
# File lib/logger/joint.rb, line 87 def error? apply_level_predicate(:error?) end
fatal(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 62 def fatal(*args, &block) apply_method(:fatal, *args, &block) end
fatal?()
click to toggle source
# File lib/logger/joint.rb, line 91 def fatal? apply_level_predicate(:fatal?) end
info(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 50 def info(*args, &block) apply_method(:info, *args, &block) end
info?()
click to toggle source
# File lib/logger/joint.rb, line 79 def info? apply_level_predicate(:info?) end
level()
click to toggle source
# File lib/logger/joint.rb, line 31 def level [ @primary, @secondary ].map(&:level).min end
unknown(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 66 def unknown(*args, &block) apply_method(:unknown, *args, &block) end
warn(*args, &block)
click to toggle source
# File lib/logger/joint.rb, line 54 def warn(*args, &block) apply_method(:warn, *args, &block) end
warn?()
click to toggle source
# File lib/logger/joint.rb, line 83 def warn? apply_level_predicate(:warn?) end
Private Instance Methods
apply_level_predicate(name)
click to toggle source
# File lib/logger/joint.rb, line 70 def apply_level_predicate(name) @primary.__send__(name) || @secondary.__send__(name) end
apply_method(name, *args, &block)
click to toggle source
# File lib/logger/joint.rb, line 35 def apply_method(name, *args, &block) r = @primary.__send__(name, *args, &block) @secondary.__send__(name, *args, &block) r end