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.
92
93
94
95
96
|
# File 'lib/logstash-logger/multi_logger.rb', line 92
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
70
71
72
73
74
75
76
|
# File 'lib/logstash-logger/multi_logger.rb', line 70
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
105
106
107
108
109
|
# File 'lib/logstash-logger/multi_logger.rb', line 105
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
99
100
101
102
103
|
# File 'lib/logstash-logger/multi_logger.rb', line 99
def add(severity, message = nil, progname = nil, &block)
@loggers.each do |logger|
logger.add(severity, message, progname, &block)
end
end
|
#close ⇒ Object
147
148
149
150
151
|
# File 'lib/logstash-logger/multi_logger.rb', line 147
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
111
112
113
114
115
|
# File 'lib/logstash-logger/multi_logger.rb', line 111
def debug(progname = nil, &block)
@loggers.each do |logger|
logger.debug(progname, &block)
end
end
|
#error(progname = nil, &block) ⇒ Object
129
130
131
132
133
|
# File 'lib/logstash-logger/multi_logger.rb', line 129
def error(progname = nil, &block)
@loggers.each do |logger|
logger.error(progname, &block)
end
end
|
#fatal(progname = nil, &block) ⇒ Object
135
136
137
138
139
|
# File 'lib/logstash-logger/multi_logger.rb', line 135
def fatal(progname = nil, &block)
@loggers.each do |logger|
logger.fatal(progname, &block)
end
end
|
28
29
30
31
32
33
|
# File 'lib/logstash-logger/multi_logger.rb', line 28
def formatter=(formatter)
super
@loggers.each do |logger|
logger.formatter ||= formatter
end
end
|
#info(progname = nil, &block) ⇒ Object
117
118
119
120
121
|
# File 'lib/logstash-logger/multi_logger.rb', line 117
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
35
36
37
38
39
40
41
|
# File 'lib/logstash-logger/multi_logger.rb', line 35
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
52
53
54
55
56
57
58
|
# File 'lib/logstash-logger/multi_logger.rb', line 52
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
141
142
143
144
145
|
# File 'lib/logstash-logger/multi_logger.rb', line 141
def unknown(progname = nil, &block)
@loggers.each do |logger|
logger.unknown(progname, &block)
end
end
|
#warn(progname = nil, &block) ⇒ Object
123
124
125
126
127
|
# File 'lib/logstash-logger/multi_logger.rb', line 123
def warn(progname = nil, &block)
@loggers.each do |logger|
logger.warn(progname, &block)
end
end
|