LogIt++
Header-only, macro-first C++ logging library
Loading...
Searching...
No Matches
logit::ILogReader Class Referenceabstract

Optional interface for backends that expose stored records. More...

#include <ILogReader.hpp>

Inheritance diagram for logit::ILogReader:
logit::MdbxLogger logit::MemoryLogger

Public Member Functions

virtual ~ILogReader ()=default
 
virtual std::vector< LogRecordSnapshot > read_range (int64_t from_ms, int64_t to_ms, std::size_t limit=0) const =0
 Reads records in [from_ms, to_ms) ordered by timestamp.
 
virtual std::vector< LogRecordSnapshot > read_recent (std::size_t limit, int64_t period_ms=0, LogReadOrder order=LogReadOrder::Ascending) const =0
 Reads the most recent records.
 

Detailed Description

Optional interface for backends that expose stored records.

Implementations should provide read_range for time-window queries and read_recent for "tail -n" style access. Both return owning snapshots so the caller does not depend on backend locking details.

Definition at line 71 of file ILogReader.hpp.

Constructor & Destructor Documentation

◆ ~ILogReader()

virtual logit::ILogReader::~ILogReader ( )
virtualdefault

Member Function Documentation

◆ read_range()

virtual std::vector< LogRecordSnapshot > logit::ILogReader::read_range ( int64_t from_ms,
int64_t to_ms,
std::size_t limit = 0 ) const
pure virtual

Reads records in [from_ms, to_ms) ordered by timestamp.

Parameters
from_msInclusive start timestamp.
to_msExclusive end timestamp.
limitMaximum number of records (0 = unlimited).
Returns
Matching records in backend-defined order (usually ascending).

Implemented in logit::MdbxLogger, and logit::MemoryLogger.

◆ read_recent()

virtual std::vector< LogRecordSnapshot > logit::ILogReader::read_recent ( std::size_t limit,
int64_t period_ms = 0,
LogReadOrder order = LogReadOrder::Ascending ) const
pure virtual

Reads the most recent records.

Parameters
limitMaximum number of records (0 = unlimited).
period_msTime window in milliseconds from now backward (0 = unlimited).
orderAscending (oldest first) or Descending (newest first).
Returns
Matching records in the requested order.

Implemented in logit::MdbxLogger, and logit::MemoryLogger.


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