class mrpt::nav::NavigationLogger

Overview

Manages navigation log file writing and in-memory log record keeping.

Extracted from CAbstractPTGBasedReactive to reduce its complexity.

#include <mrpt/nav/reactive/NavigationLogger.h>

class NavigationLogger
{
public:
    // construction

    NavigationLogger();

    // methods

    void enableLogFile(bool enable, const std::string& logDir, mrpt::system::COutputLogger* logger);
    bool shouldFillLogRecord() const;
    void enableKeepLogRecords(bool enable = true);
    void getLastLogRecord(CLogFileRecord& o);
    void setLogFileDirectory(const std::string& sDir);
    std::string getLogFileDirectory() const;
    void writeLogRecord(const CLogFileRecord& rec, mrpt::system::CTimeLogger& timelogger);
    mrpt::io::CStream* getLogStream();
    bool isNewLogFile() const;
    void markLogFileIntroduced();
    void close();
};

Methods

void enableLogFile(bool enable, const std::string& logDir, mrpt::system::COutputLogger* logger)

Enable/disable log file output.

Parameters:

enable

If true, opens a new log file; if false, closes any open file.

logDir

Directory for log files.

logger

Optional COutputLogger for debug messages.

bool shouldFillLogRecord() const

Whether log file or in-memory records should be filled.

void enableKeepLogRecords(bool enable = true)

Enables keeping an internal registry of navigation logs.

void getLastLogRecord(CLogFileRecord& o)

Provides a copy of the last log record.

void setLogFileDirectory(const std::string& sDir)

Changes the prefix for new log files.

void writeLogRecord(const CLogFileRecord& rec, mrpt::system::CTimeLogger& timelogger)

Write the completed log record to file and/or store as last record.

mrpt::io::CStream* getLogStream()

Access to the raw log stream (for introductory blocks, etc.)

bool isNewLogFile() const

Returns true if this is the first time we write to a new log file (used for writing PTG introductory data)

void markLogFileIntroduced()

Mark the current log file as “already introduced”.

void close()

Close log file and reset state.