Class: ExtendedLogger
- Inherits:
-
Object
show all
- Defined in:
- lib/extended_logger/rule.rb,
lib/extended_logger/sink.rb,
lib/extended_logger/level.rb,
lib/extended_logger/define.rb,
lib/extended_logger/logger.rb,
lib/extended_logger/message.rb,
lib/extended_logger/controls.rb,
lib/extended_logger/defaults.rb,
lib/extended_logger/registry.rb,
lib/extended_logger/level/set.rb,
lib/extended_logger/serializer.rb,
lib/extended_logger/color_scheme.rb,
lib/extended_logger/extended_logger.rb,
lib/extended_logger/verbosity_threshold.rb,
lib/extended_logger/serializer/text_formatter.rb
Defined Under Namespace
Modules: Assertions, Controls, Defaults, Rule
Classes: ColorScheme, Define, Level, Message, Registry, Serializer, Sink, VerbosityThreshold
Constant Summary
collapse
- Logger =
self.define
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
7
8
9
|
# File 'lib/extended_logger/extended_logger.rb', line 7
def initialize sink
@sink = sink
end
|
Instance Attribute Details
#clock ⇒ Object
53
54
55
|
# File 'lib/extended_logger/extended_logger.rb', line 53
def clock
@clock ||= Time
end
|
#label ⇒ Object
Returns the value of attribute label.
3
4
5
|
# File 'lib/extended_logger/extended_logger.rb', line 3
def label
@label
end
|
#level ⇒ Object
61
62
63
|
# File 'lib/extended_logger/extended_logger.rb', line 61
def level
@level ||= levels.default
end
|
#sink ⇒ Object
Returns the value of attribute sink.
5
6
7
|
# File 'lib/extended_logger/extended_logger.rb', line 5
def sink
@sink
end
|
Class Method Details
.build(device = nil, level: nil, **sink_arguments) ⇒ Object
11
12
13
14
15
16
17
|
# 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) ⇒ Object
2
3
4
5
6
7
8
|
# 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 ⇒ Object
19
20
21
|
# File 'lib/extended_logger/extended_logger.rb', line 19
def self.empty_message
'<empty message>'
end
|
.levels ⇒ Object
23
24
|
# File 'lib/extended_logger/extended_logger.rb', line 23
def self.levels
end
|
.sink(device: nil, **sink_arguments) ⇒ Object
26
27
28
29
30
31
32
|
# 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 ⇒ Object
34
35
36
|
# File 'lib/extended_logger/extended_logger.rb', line 34
def self.sink_defaults
{}
end
|
Instance Method Details
#<<(message) ⇒ Object
38
39
40
|
# File 'lib/extended_logger/extended_logger.rb', line 38
def << message
sink << message
end
|
#add(level, prose = nil, label: nil, &block) ⇒ Object
42
43
44
45
46
47
48
49
50
51
|
# 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
|
#device ⇒ Object
57
58
59
|
# File 'lib/extended_logger/extended_logger.rb', line 57
def device
sink.device
end
|