module Output
Constants
- DEFAULT_DEVICE
- DEFAULT_LOGGER_LEVEL
- DEFAULT_PATTERN
Public Class Methods
included(base)
click to toggle source
# File lib/output/output.rb, line 8 def self.included(base) base.extend ClassMethods end
Public Instance Methods
add_device(device)
click to toggle source
# File lib/output/output.rb, line 175 def add_device(device) each_writer do |writer| writer.add_device device end device end
build_writer(name, level, device_options = nil, message_transformer=nil)
click to toggle source
# File lib/output/output.rb, line 44 def build_writer(name, level, device_options = nil, message_transformer=nil) device_options ||= {} device_options = self.class.device_options.merge device_options logger_name = Writer::Naming.fully_qualified(self.class, name) writer = Writer.build name, level, message_transformer, self.level, logger_name, device_options writer end
disable() { || ... }
click to toggle source
# File lib/output/output.rb, line 12 def disable each_writer { |w| w.disable } if block_given? yield enable end end
each_writer() { |writer| ... }
click to toggle source
# File lib/output/output.rb, line 52 def each_writer self.class.writer_names.each do |name| writer = send self.class.writer_attribute(name) yield writer end end
enable()
click to toggle source
# File lib/output/output.rb, line 20 def enable each_writer { |w| w.enable } end
initial_level?()
click to toggle source
# File lib/output/output.rb, line 69 def initial_level? level == self.class.logger_level end
last_method()
click to toggle source
# File lib/output/output.rb, line 32 def last_method @last_method end
last_method=(val)
click to toggle source
# File lib/output/output.rb, line 36 def last_method=(val) @last_method = val end
last_method?(*methods)
click to toggle source
# File lib/output/output.rb, line 40 def last_method?(*methods) methods.include? last_method end
level()
click to toggle source
# File lib/output/output.rb, line 59 def level @level ||= self.class.logger_level end
level=(level)
click to toggle source
# File lib/output/output.rb, line 63 def level=(level) @level = level each_writer { |w| w.logger_level = level } level end
levels()
click to toggle source
# File lib/output/output.rb, line 73 def levels @levels ||= [] end
pop_device()
click to toggle source
# File lib/output/output.rb, line 168 def pop_device each_writer do |writer| writer.pop_device end nil end
pop_level()
click to toggle source
# File lib/output/output.rb, line 97 def pop_level level = levels.shift unless levels.empty? self.level = level level end
push_device(device, options = {}, &block)
click to toggle source
# File lib/output/output.rb, line 143 def push_device(device, options = {}, &block) return device if device.nil? return push_device__obj(device, &block) if device.is_a? Logging::Appender push_device__opts(type = device, options, &block) end
push_device__obj(device) { || ... }
click to toggle source
# File lib/output/output.rb, line 157 def push_device__obj(device, &block) each_writer do |writer| writer.push_device device end if block_given? yield pop_device end device end
push_device__opts(type, options = {}, &block)
click to toggle source
# File lib/output/output.rb, line 151 def push_device__opts(type, options = {}, &block) options = self.class.device_options.merge(options) device = Output::Devices.build_device(type, options) push_device__obj device, &block end
push_level(level) { || ... }
click to toggle source
# File lib/output/output.rb, line 85 def push_level(level) levels.unshift self.level self.level = level if block_given? yield self.level = pop_level end level end
reset_level()
click to toggle source
# File lib/output/output.rb, line 77 def reset_level @level = self.class.logger_level each_writer do |writer| writer.reset_level end end
suspend_devices(device, &block)
click to toggle source
# File lib/output/output.rb, line 103 def suspend_devices(device, &block) return suspend_devices__obj(device, &block) if device.is_a? Logging::Appender suspend_devices__name device, &block end
suspend_devices__device_selector(device_selector) { || ... }
click to toggle source
# File lib/output/output.rb, line 118 def suspend_devices__device_selector(device_selector, &block) suspensions = [] each_writer do |writer| device = device_selector.call writer suspension = Writer::DeviceSuspension.new writer, device suspensions << suspension suspension.suspend end yield suspensions.each { |suspension| suspension.restore } end
suspend_devices__name(name, &block)
click to toggle source
# File lib/output/output.rb, line 113 def suspend_devices__name(name, &block) device_selector = ->(writer) { writer.device name } suspend_devices__device_selector device_selector, &block end
suspend_devices__obj(device, &block)
click to toggle source
# File lib/output/output.rb, line 108 def suspend_devices__obj(device, &block) device_selector = ->(writer) { device } suspend_devices__device_selector device_selector, &block end
to_s()
click to toggle source
# File lib/output/output.rb, line 133 def to_s details = "Output : #{self.class.name} - Object Id:#{self.object_id}\n" details << "Level: #{self.level}\n" details << "Writer Details: \n" each_writer do |writer| details << "#{writer.to_s}\n" end details end
write(method, message)
click to toggle source
# File lib/output/output.rb, line 24 def write(method, message) send method, message end
writer(name)
click to toggle source
# File lib/output/output.rb, line 28 def writer(name) send self.class.writer_attribute(name) end