ModelSpace
Documentation for ModelSpace models and classes.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
modelspace::Hdf5Logger Class Reference

Class for logging to HDF5. More...

#include <Hdf5Logger.h>

Inheritance diagram for modelspace::Hdf5Logger:

Public Member Functions

 Hdf5Logger (cfspp::FlightExecutive &exec, const std::string &filename="output.h5", unsigned int buffer_size=1000)
 Constructor for CSV logger – wraps around logger constructor. More...
 
virtual ~Hdf5Logger ()
 
int close ()
 Function to close down the file – logs remaining buffered data and closes. More...
 
log_level_e logLevel ()
 Get the log level set for the executive. More...
 
void logLevel (log_level_e log_level)
 Set the executive log level. More...
 
const HighFive::File * h5File ()
 Get handle to HDF5 file in Hdf5 logger. More...
 

Protected Member Functions

int _createSetupFile ()
 Function to create an HDF5 file for logging. More...
 
int _writeToFile ()
 Function to write buffered data to HDF5 file. More...
 

Protected Attributes

cfspp::FlightExecutiveexc
 Handle to executive for logging. More...
 
HighFive::File * _file
 High Five variables for writing HDF5 to file. More...
 
HighFive::DataSpace * _dataspace
 
HighFive::DataSetCreateProps _props
 
std::vector< HighFive::DataSet > _datasets
 
unsigned long long _l_start_idx
 Index to track where we're writing to our dataset. More...
 
unsigned long long _l_end_idx
 
log_level_e _local_log_level = log_level_e::LOG_WARNING
 The log level for this particular app. More...
 

Detailed Description

Class for logging to HDF5.

The CSV logger is a class that inherits from the base logger class and manually configures it to write to CSV.

Constructor & Destructor Documentation

◆ Hdf5Logger()

modelspace::Hdf5Logger::Hdf5Logger ( cfspp::FlightExecutive exec,
const std::string &  filename = "output.h5",
unsigned int  buffer_size = 1000 
)

Constructor for CSV logger – wraps around logger constructor.

◆ ~Hdf5Logger()

modelspace::Hdf5Logger::~Hdf5Logger ( )
virtual

Member Function Documentation

◆ _createSetupFile()

int modelspace::Hdf5Logger::_createSetupFile ( )
protected

Function to create an HDF5 file for logging.

◆ _writeToFile()

int modelspace::Hdf5Logger::_writeToFile ( )
protected

Function to write buffered data to HDF5 file.

◆ close()

int modelspace::Hdf5Logger::close ( )

Function to close down the file – logs remaining buffered data and closes.

◆ h5File()

const HighFive::File* modelspace::Hdf5Logger::h5File ( )
inline

Get handle to HDF5 file in Hdf5 logger.

Returns
Pointer to HDF5 file

◆ logLevel() [1/2]

log_level_e modelspace::Hdf5Logger::logLevel ( )
inline

Get the log level set for the executive.

Returns
Log level for the executive

◆ logLevel() [2/2]

void modelspace::Hdf5Logger::logLevel ( log_level_e  log_level)
inline

Set the executive log level.

Parameters
log_levelThe level to set logging to

Member Data Documentation

◆ _datasets

std::vector<HighFive::DataSet> modelspace::Hdf5Logger::_datasets
protected

◆ _dataspace

HighFive::DataSpace* modelspace::Hdf5Logger::_dataspace
protected

◆ _file

HighFive::File* modelspace::Hdf5Logger::_file
protected

High Five variables for writing HDF5 to file.

◆ _l_end_idx

unsigned long long modelspace::Hdf5Logger::_l_end_idx
protected

◆ _l_start_idx

unsigned long long modelspace::Hdf5Logger::_l_start_idx
protected

Index to track where we're writing to our dataset.

◆ _local_log_level

log_level_e modelspace::Hdf5Logger::_local_log_level = log_level_e::LOG_WARNING
protected

The log level for this particular app.

◆ _props

HighFive::DataSetCreateProps modelspace::Hdf5Logger::_props
protected

◆ exc

cfspp::FlightExecutive& modelspace::Hdf5Logger::exc
protected

Handle to executive for logging.


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