A.R.G.U.S 2.1.0
Adaptive Real-Time Guardian for Unsafe Situations
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
MetricsLogger Class Reference

Singleton logger with non-blocking, thread-safe operation. More...

#include <MetricsLogger.hpp>

Public Member Functions

 MetricsLogger (const MetricsLogger &)=delete
 Deleted copy constructor (Singleton)
 
MetricsLoggeroperator= (const MetricsLogger &)=delete
 Deleted assignment operator (Singleton)
 
 ~MetricsLogger ()
 Destructor - stops logging thread.
 
void logEvent (const std::string &category, const std::string &message)
 Logs an event (non-blocking, thread-safe)
 
void flush ()
 Flushes all pending logs (blocking - use only at shutdown)
 

Static Public Member Functions

static MetricsLoggergetInstance ()
 Gets singleton instance.
 

Detailed Description

Thread Safety:

Definition at line 39 of file MetricsLogger.hpp.

Constructor & Destructor Documentation

◆ MetricsLogger()

MetricsLogger::MetricsLogger ( const MetricsLogger )
delete

◆ ~MetricsLogger()

MetricsLogger::~MetricsLogger ( )

Definition at line 21 of file MetricsLogger.cpp.

Member Function Documentation

◆ flush()

void MetricsLogger::flush ( )

Definition at line 110 of file MetricsLogger.cpp.

◆ getInstance()

MetricsLogger & MetricsLogger::getInstance ( )
static
Returns
Reference to the single MetricsLogger instance

Definition at line 37 of file MetricsLogger.cpp.

◆ logEvent()

void MetricsLogger::logEvent ( const std::string &  category,
const std::string &  message 
)
Parameters
categoryEvent category (e.g., "INIT", "TRANSITION", "ACTION")
messageEvent message

This function is non-blocking and suitable for real-time paths. The log entry is queued and processed by a background thread.

Note
Thread-safe - can be called from multiple threads

Definition at line 54 of file MetricsLogger.cpp.

◆ operator=()

MetricsLogger & MetricsLogger::operator= ( const MetricsLogger )
delete

The documentation for this class was generated from the following files: