Module: LogStashLogger::Device
- Defined in:
- lib/logstash-logger/device.rb,
lib/logstash-logger/device/io.rb,
lib/logstash-logger/device/tcp.rb,
lib/logstash-logger/device/udp.rb,
lib/logstash-logger/device/base.rb,
lib/logstash-logger/device/file.rb,
lib/logstash-logger/device/unix.rb,
lib/logstash-logger/device/kafka.rb,
lib/logstash-logger/device/redis.rb,
lib/logstash-logger/device/socket.rb,
lib/logstash-logger/device/stderr.rb,
lib/logstash-logger/device/stdout.rb,
lib/logstash-logger/device/balancer.rb,
lib/logstash-logger/device/connectable.rb,
lib/logstash-logger/device/multi_delegator.rb
Defined Under Namespace
Classes: Balancer, Base, Connectable, File, IO, Kafka, MultiDelegator, Redis, Socket, Stderr, Stdout, TCP, UDP, Unix
Constant Summary
collapse
- DEFAULT_TYPE =
:udp
Class Method Summary
collapse
Class Method Details
.build_device(opts) ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/logstash-logger/device.rb', line 27
def self.build_device(opts)
if parsed_uri_opts = parse_uri_config(opts)
opts.delete(:uri)
opts.merge!(parsed_uri_opts)
end
type = opts.delete(:type) || DEFAULT_TYPE
device_klass_for(type).new(opts)
end
|
.device_klass_for(type) ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/logstash-logger/device.rb', line 45
def self.device_klass_for(type)
case type.to_sym
when :udp then UDP
when :tcp then TCP
when :unix then Unix
when :file then File
when :redis then Redis
when :kafka then Kafka
when :io then IO
when :stdout then Stdout
when :stderr then Stderr
when :multi_delegator then MultiDelegator
when :balancer then Balancer
else fail ArgumentError, 'Invalid device type'
end
end
|
.new(opts) ⇒ Object
22
23
24
25
|
# File 'lib/logstash-logger/device.rb', line 22
def self.new(opts)
opts = opts.dup
build_device(opts)
end
|
.parse_uri_config(opts) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/logstash-logger/device.rb', line 38
def self.parse_uri_config(opts)
if uri = opts[:uri]
parsed = ::URI.parse(uri)
{type: parsed.scheme, host: parsed.host, port: parsed.port, path: parsed.path}
end
end
|