Logging - GSW-2021

Purpose

Messages from processes and raw telemetry data should be logged to be reviewed later whether for debugging and viewing flight data.

Implementation Requirements

Calls to logging functions should be effectively atomic in relation to the other GSW processes. A message should be completely written before another is, regardless if there was a call to a logging function occurring during the write.

The order the messages were sent to the logging process should be the order they are written.

Implementation

Logging will be implemented using a file writing process that reads from a POSIX Message Queue and a shared library that sends messages to that queue. System messages and raw telemetry data will be separate queues that the logging process will read from.