Class: OpenC3::RawLoggerPair

Inherits:
Object
  • Object
show all
Defined in:
lib/openc3/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, log_directory, params = []) ⇒ RawLoggerPair

Returns a new instance of RawLoggerPair.

Parameters:

  • name (String)

    name to be added to log filenames

  • log_directory (String)

    The directory to store the log files

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

    raw log writer parameters or empty array



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/openc3/io/raw_logger_pair.rb', line 36

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

Instance Attribute Details

#read_loggerRawLogger

Returns The read logger.

Returns:



29
30
31
# File 'lib/openc3/io/raw_logger_pair.rb', line 29

def read_logger
  @read_logger
end

#write_loggerRawLogger

Returns The write logger.

Returns:



31
32
33
# File 'lib/openc3/io/raw_logger_pair.rb', line 31

def write_logger
  @write_logger
end

Instance Method Details

#cloneObject

Clone the raw logger pair



71
72
73
74
75
76
77
78
# File 'lib/openc3/io/raw_logger_pair.rb', line 71

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:



53
54
55
56
# File 'lib/openc3/io/raw_logger_pair.rb', line 53

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

#startObject

Start raw logging



59
60
61
62
# File 'lib/openc3/io/raw_logger_pair.rb', line 59

def start
  @read_logger.start
  @write_logger.start
end

#stopObject

Close any open raw data log files



65
66
67
68
# File 'lib/openc3/io/raw_logger_pair.rb', line 65

def stop
  @read_logger.stop
  @write_logger.stop
end