Class: Cosmos::RawLoggerPair
Overview
Holds a read/write pair of raw loggers
Instance Attribute Summary collapse
-
#read_logger ⇒ RawLogger
The read logger.
-
#write_logger ⇒ RawLogger
The write logger.
Instance Method Summary collapse
-
#clone ⇒ Object
Clone the raw logger pair.
-
#initialize(name, log_directory, params = []) ⇒ RawLoggerPair
constructor
A new instance of RawLoggerPair.
-
#name=(name) ⇒ Object
Change the raw logger name.
-
#start ⇒ Object
Start raw logging.
-
#stop ⇒ Object
Close any open raw data log files.
Constructor Details
#initialize(name, log_directory, params = []) ⇒ RawLoggerPair
Returns a new instance of RawLoggerPair.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 33 def initialize(name, log_directory, 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, 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_logger ⇒ RawLogger
Returns The read logger.
26 27 28 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 26 def read_logger @read_logger end |
#write_logger ⇒ RawLogger
Returns The write logger.
28 29 30 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 28 def write_logger @write_logger end |
Instance Method Details
#clone ⇒ Object
Clone the raw logger pair
68 69 70 71 72 73 74 75 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 68 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
50 51 52 53 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 50 def name=(name) @read_logger.name = name @write_logger.name = name end |
#start ⇒ Object
Start raw logging
56 57 58 59 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 56 def start @read_logger.start @write_logger.start end |
#stop ⇒ Object
Close any open raw data log files
62 63 64 65 |
# File 'lib/cosmos/io/raw_logger_pair.rb', line 62 def stop @read_logger.stop @write_logger.stop end |