class ExtendedLogger
Constants
- Logger
- Message
Attributes
clock[W]
label[RW]
level[W]
sink[R]
Public Class Methods
build(device=nil, level: nil, **sink_arguments)
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 11 def self.build device=nil, level: nil, **sink_arguments sink = self.sink device: device, **sink_arguments instance = new sink instance.level = level if level instance end
define(levels=nil, **sink_defaults)
click to toggle source
# File lib/extended_logger/define.rb, line 2 def self.define levels=nil, **sink_defaults levels ||= Defaults.levels subclass = Class.new self Define.(subclass, levels, sink_defaults) subclass end
empty_message()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 19 def self.empty_message '<empty message>' end
levels()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 23 def self.levels end
new(sink)
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 7 def initialize sink @sink = sink end
sink(device: nil, **sink_arguments)
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 26 def self.sink device: nil, **sink_arguments sink_arguments = sink_defaults.merge sink_arguments sink_arguments[:levels] ||= levels if levels Sink.build device, **sink_arguments end
sink_defaults()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 34 def self.sink_defaults {} end
Public Instance Methods
<<(message)
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 38 def << message sink << message end
add(level, prose=nil, label: nil, &block)
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 42 def add level, prose=nil, label: nil, &block block ||= ->{ prose } label ||= self.label time = clock.now message = Message.new block, level, time, label self << message end
clock()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 53 def clock @clock ||= Time end
device()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 57 def device sink.device end
level()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 61 def level sink.level end
lower_verbosity()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 69 def lower_verbosity sink.lower_verbosity end
raise_verbosity()
click to toggle source
# File lib/extended_logger/extended_logger.rb, line 73 def raise_verbosity sink.raise_verbosity end