Logging Engine API

This section describes all the classes and functions involved in the IO Ninja logging engine (a.k.a. “Ninja Scroll”).

// typedefs

typedef void log.ObserverFunc(
    uint64_t timestamp,
    uint64_t recordCode,
    void const* p,
    size_t size
);

typedef log.RangeProcessor* log.RangeProcessorFactoryFunc();

typedef bool log.RepresenterFunc(
    log.Representation* representation,
    uint64_t recordCode,
    void const* p,
    size_t size,
    uint_t foldFlags
);

// enums

bitflag enum log.FoldFlags;
bitflag enum log.LineAttrFlags;
bitflag enum log.PartCodeFlags;
enum log.PartKind;
bitflag enum log.RecordCodeFlags;
bitflag enum log.RetroColorizeFlags;
enum log.StdLogColor;
enum log.StdLogIcon;
enum log.StdRecordCode;

// structs

struct log.LineAttr;
struct log.Record;
struct log.RecordFileHdr;
struct log.RetroColorizeParams;
struct log.TxRxStats;

// classes

class log.Converter;
class log.Filter;
class log.FoldingFilter;
class log.Log;
class log.ProxyWriter;
class log.RangeProcessor;
class log.Representation;
class log.Writer;