Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
AutonomyLogging.h File Reference

Implements Logging for Autonomy. More...

#include "./AutonomyConstants.h"
#include "./util/TimeOperations.hpp"
Include dependency graph for AutonomyLogging.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  logging::LoggingFilter
 This class serves as a container class for handling log filtering of loggers. This must be used if you want each handler to have a different logging level since adding multiple handlers to the same logger will apply the loggers logging level to each handler. More...
 
class  logging::MRDTConsoleSink
 A custom console sink for logging messages with specific formatting and timestamping. This class extends quill::ConsoleSink and provides the capability to format log messages using a specified pattern and time format, allowing for customizable and colorized console outputs. More...
 
class  logging::MRDTRotatingFileSink
 A custom rotating file sink that formats and logs messages to a file with automatic rotation based on file size or time interval. This class extends quill::RotatingFileSink and provides the ability to format log messages using a pattern and time format, ensuring that logs are written to a rotating file system. More...
 
class  logging::MRDTRoveCommSink
 A custom logger sink designed to send formatted log messages over the RoveComm protocol. This class extends quill::Sink and is tailored for use in the Autonomy system, where log messages need to be transmitted as packets over a network to a BaseStation via UDP. More...
 

Namespaces

namespace  logging
 Namespace containing all global type/structs that will be used project wide for logging.
 

Functions

void logging::InitializeLoggers (std::string szLoggingOutputPath, std::string szProgramTimeLogsDir)
 Logger Initializer - Sets Up all the logging handlers required for having the above loggers.
 

Variables

const std::function< void(const rovecomm::RoveCommPacket< uint8_t > &, const sockaddr_in &)> logging::SetLoggingLevelsCallback
 

Detailed Description

Implements Logging for Autonomy.

   Note: Functions and Variables are defined in AutonomyGlobals.cpp
         by having the declarations occur in a separate header we are
         more easily able to use the functionality of the logger in
         areas of the program that would normally be unaccessible
         due to it being included in the Main Globals Header.
Author
Eli Byrd (edbgk.nosp@m.k@ms.nosp@m.t.edu)
Date
2023-08-22