Class: Cosmos::RawLoggerPair

Inherits:
Object
  • Object
show all
Defined in:
lib/cosmos/io/raw_logger_pair.rb

Overview

Holds a read/write pair of raw loggers

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, params = []) ⇒ RawLoggerPair

Returns a new instance of RawLoggerPair.

Parameters:

  • name (String)

    name to be added to log file names

  • params (Array) (defaults to: [])

    raw log writer parameters or empty array



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/cosmos/io/raw_logger_pair.rb', line 25

def initialize(name, params = [])
  if params.empty?
    raw_logger_class = RawLogger
  else
    raw_logger_class = Cosmos.require_class(params[0])
  end
  if params[1]
    @read_logger = raw_logger_class.new(name, :READ, *params[1..-1])
    @write_logger = raw_logger_class.new(name, :WRITE, *params[1..-1])
  else
    @read_logger = raw_logger_class.new(name, :READ)
    @write_logger = raw_logger_class.new(name, :WRITE)
  end
end

Instance Attribute Details

#read_loggerRawLogger

Returns The read logger.

Returns:



19
20
21
# File 'lib/cosmos/io/raw_logger_pair.rb', line 19

def read_logger
  @read_logger
end

#write_loggerRawLogger

Returns The write logger.

Returns:



21
22
23
# File 'lib/cosmos/io/raw_logger_pair.rb', line 21

def write_logger
  @write_logger
end

Instance Method Details

#cloneObject

Clone the raw logger pair



60
61
62
63
64
65
66
67
# File 'lib/cosmos/io/raw_logger_pair.rb', line 60

def clone
  raw_logger_pair = super()
  raw_logger_pair.read_logger = @read_logger.clone
  raw_logger_pair.write_logger = @write_logger.clone
  raw_logger_pair.read_logger.start if @read_logger.logging_enabled
  raw_logger_pair.write_logger.start if @write_logger.logging_enabled
  raw_logger_pair
end

#name=(name) ⇒ Object

Change the raw logger name

Parameters:



42
43
44
45
# File 'lib/cosmos/io/raw_logger_pair.rb', line 42

def name=(name)
  @read_logger.name = name
  @write_logger.name = name
end

#startObject

Start raw logging



48
49
50
51
# File 'lib/cosmos/io/raw_logger_pair.rb', line 48

def start
  @read_logger.start
  @write_logger.start
end

#stopObject

Close any open raw data log files



54
55
56
57
# File 'lib/cosmos/io/raw_logger_pair.rb', line 54

def stop
  @read_logger.stop
  @write_logger.stop
end