Class: Lumberjack::Device::Multi

Inherits:
Lumberjack::Device show all
Defined in:
lib/lumberjack/device/multi.rb

Overview

This is a logging device that forward log entries to multiple other devices.

Instance Method Summary collapse

Methods inherited from Lumberjack::Device

#cleanup_files!, #do_once

Constructor Details

#initialize(*devices) ⇒ Multi

Returns a new instance of Multi.

Parameters:



8
9
10
# File 'lib/lumberjack/device/multi.rb', line 8

def initialize(*devices)
  @devices = devices.flatten
end

Instance Method Details

#closeObject



24
25
26
27
28
# File 'lib/lumberjack/device/multi.rb', line 24

def close
  @devices.each do |device|
    device.close
  end
end

#datetime_formatObject



36
37
38
# File 'lib/lumberjack/device/multi.rb', line 36

def datetime_format
  @devices.detect(&:datetime_format).datetime_format
end

#datetime_format=(format) ⇒ Object



40
41
42
43
44
# File 'lib/lumberjack/device/multi.rb', line 40

def datetime_format=(format)
  @devices.each do |device|
    device.datetime_format = format
  end
end

#flushObject



18
19
20
21
22
# File 'lib/lumberjack/device/multi.rb', line 18

def flush
  @devices.each do |device|
    device.flush
  end
end

#reopen(logdev = nil) ⇒ Object



30
31
32
33
34
# File 'lib/lumberjack/device/multi.rb', line 30

def reopen(logdev = nil)
  @devices.each do |device|
    device.reopen(logdev = nil)
  end
end

#write(entry) ⇒ Object



12
13
14
15
16
# File 'lib/lumberjack/device/multi.rb', line 12

def write(entry)
  @devices.each do |device|
    device.write(entry)
  end
end