Class: LogStashLogger::MultiLogger
- Inherits:
-
Logger
- Object
- Logger
- LogStashLogger::MultiLogger
show all
- Defined in:
- lib/logstash-logger/multi_logger.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#<<(msg) ⇒ Object
-
#add(severity, message = nil, progname = nil, &block) ⇒ Object
Methods that write to logs just write to each contained logger in turn.
-
#close ⇒ Object
-
#datetime_format=(datetime_format) ⇒ Object
-
#debug(progname = nil, &block) ⇒ Object
-
#error(progname = nil, &block) ⇒ Object
-
#fatal(progname = nil, &block) ⇒ Object
-
#formatter=(formatter) ⇒ Object
-
#info(progname = nil, &block) ⇒ Object
-
#initialize(loggers) ⇒ MultiLogger
constructor
Synopsis.
-
#level=(value) ⇒ Object
-
#method_missing(name, *args, &block) ⇒ Object
Any method not defined on standard Logger class, just send it on to anyone who will listen.
-
#progname=(value) ⇒ Object
-
#silence(temporary_level = ::Logger::ERROR, &block) ⇒ Object
-
#tagged(*tags, &block) ⇒ Object
-
#unknown(progname = nil, &block) ⇒ Object
-
#warn(progname = nil, &block) ⇒ Object
Constructor Details
#initialize(loggers) ⇒ MultiLogger
Synopsis
MultiLogger.new([logger1, logger2])
Args
loggers
-
An array of loggers. Each one gets every message that is sent to the MultiLogger instance
Description
Create an instance.
91
92
93
94
95
|
# File 'lib/logstash-logger/multi_logger.rb', line 91
def initialize(loggers)
@loggers = []
super(nil)
@loggers = Array(loggers)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
Any method not defined on standard Logger class, just send it on to anyone who will listen
69
70
71
72
73
74
75
|
# File 'lib/logstash-logger/multi_logger.rb', line 69
def method_missing(name, *args, &block)
@loggers.each do |logger|
if logger.respond_to?(name)
logger.send(name, args, &block)
end
end
end
|
Instance Attribute Details
#loggers ⇒ Object
Array of Loggers to be logged to. These can be anything that acts reasonably like a Logger.
5
6
7
|
# File 'lib/logstash-logger/multi_logger.rb', line 5
def loggers
@loggers
end
|
Instance Method Details
#<<(msg) ⇒ Object
104
105
106
107
108
|
# File 'lib/logstash-logger/multi_logger.rb', line 104
def <<(msg)
@loggers.each do |logger|
logger << msg
end
end
|
#add(severity, message = nil, progname = nil, &block) ⇒ Object
Methods that write to logs just write to each contained logger in turn
98
99
100
101
102
|
# File 'lib/logstash-logger/multi_logger.rb', line 98
def add(severity, message = nil, progname = nil, &block)
@loggers.each do |logger|
logger.add(severity, message, progname, &block)
end
end
|
#close ⇒ Object
146
147
148
149
150
|
# File 'lib/logstash-logger/multi_logger.rb', line 146
def close
@loggers.each do |logger|
logger.close if logger.respond_to?(:close)
end
end
|
21
22
23
24
25
26
|
# File 'lib/logstash-logger/multi_logger.rb', line 21
def datetime_format=(datetime_format)
super
@loggers.each do |logger|
logger.datetime_format = datetime_format
end
end
|
#debug(progname = nil, &block) ⇒ Object
110
111
112
113
114
|
# File 'lib/logstash-logger/multi_logger.rb', line 110
def debug(progname = nil, &block)
@loggers.each do |logger|
logger.debug(progname, &block)
end
end
|
#error(progname = nil, &block) ⇒ Object
128
129
130
131
132
|
# File 'lib/logstash-logger/multi_logger.rb', line 128
def error(progname = nil, &block)
@loggers.each do |logger|
logger.error(progname, &block)
end
end
|
#fatal(progname = nil, &block) ⇒ Object
134
135
136
137
138
|
# File 'lib/logstash-logger/multi_logger.rb', line 134
def fatal(progname = nil, &block)
@loggers.each do |logger|
logger.fatal(progname, &block)
end
end
|
28
29
30
31
32
|
# File 'lib/logstash-logger/multi_logger.rb', line 28
def formatter=(formatter)
@loggers.each do |logger|
logger.formatter ||= formatter
end
end
|
#info(progname = nil, &block) ⇒ Object
116
117
118
119
120
|
# File 'lib/logstash-logger/multi_logger.rb', line 116
def info(progname = nil, &block)
@loggers.each do |logger|
logger.info(progname, &block)
end
end
|
#level=(value) ⇒ Object
7
8
9
10
11
12
|
# File 'lib/logstash-logger/multi_logger.rb', line 7
def level=(value)
super
@loggers.each do |logger|
logger.level = value
end
end
|
#progname=(value) ⇒ Object
14
15
16
17
18
19
|
# File 'lib/logstash-logger/multi_logger.rb', line 14
def progname=(value)
super
@loggers.each do |logger|
logger.progname = value
end
end
|
#silence(temporary_level = ::Logger::ERROR, &block) ⇒ Object
34
35
36
37
38
39
40
|
# File 'lib/logstash-logger/multi_logger.rb', line 34
def silence(temporary_level = ::Logger::ERROR, &block)
silenceable_loggers = @loggers.select do |logger|
logger.respond_to?(:silence)
end
silence_loggers(temporary_level, silenceable_loggers, &block)
end
|
#tagged(*tags, &block) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/logstash-logger/multi_logger.rb', line 51
def tagged(*tags, &block)
taggable_loggers = @loggers.select do |logger|
logger.respond_to?(:tagged)
end
tag_loggers(tags, taggable_loggers, &block)
end
|
#unknown(progname = nil, &block) ⇒ Object
140
141
142
143
144
|
# File 'lib/logstash-logger/multi_logger.rb', line 140
def unknown(progname = nil, &block)
@loggers.each do |logger|
logger.unknown(progname, &block)
end
end
|
#warn(progname = nil, &block) ⇒ Object
122
123
124
125
126
|
# File 'lib/logstash-logger/multi_logger.rb', line 122
def warn(progname = nil, &block)
@loggers.each do |logger|
logger.warn(progname, &block)
end
end
|