qtlogger

QtLogger Docs > API Reference

API Reference

This section provides detailed documentation for all QtLogger classes and their APIs.


Table of Contents

Core Classes

Pipeline Classes

Handler Classes


Class Hierarchy

Handler (abstract)
├── AttrHandler (abstract)
│   ├── SeqNumberAttr
│   ├── AppInfoAttrs
│   ├── AppUuidAttr
│   ├── SysInfoAttrs
│   ├── HostInfoAttrs
│   └── FunctionAttrHandler
├── Filter (abstract)
│   ├── LevelFilter
│   ├── CategoryFilter
│   ├── RegExpFilter
│   ├── DuplicateFilter
│   └── FunctionFilter
├── Formatter (abstract)
│   ├── PatternFormatter
│   ├── JsonFormatter
│   ├── PrettyFormatter
│   ├── QtLogMessageFormatter
│   └── FunctionFormatter
├── Sink (abstract)
│   ├── IODeviceSink
│   │   └── FileSink
│   │       └── RotatingFileSink
│   ├── StdOutSink
│   ├── StdErrSink
│   ├── HttpSink
│   ├── SyslogSink
│   ├── SdJournalSink
│   ├── AndroidLogSink
│   ├── OslogSink
│   ├── SignalSink
│   └── WinDebugSink
├── Pipeline
│   └── SortedPipeline
│       └── SimplePipeline
│           └── Logger
└── FunctionHandler

Smart Pointer Types

All handler classes have corresponding smart pointer typedefs:

Class Pointer Type
Handler HandlerPtr
AttrHandler AttrHandlerPtr
Filter FilterPtr
Formatter FormatterPtr
Sink SinkPtr
Pipeline PipelinePtr
Logger (singleton, use gQtLogger)
LevelFilter LevelFilterPtr
PatternFormatter PatternFormatterPtr
StdErrSink StdErrSinkPtr

Example usage:

auto filter = LevelFilterPtr::create(QtWarningMsg);
auto formatter = PatternFormatterPtr::create("%{time} %{message}");
auto sink = StdErrSinkPtr::create();

gQtLogger << filter << formatter << sink;

Handler Interface

All handlers implement the Handler interface:

class Handler
{
public:
    enum class HandlerType { Handler, AttrHandler, Filter, Formatter, Sink, Pipeline };
    
    virtual ~Handler() = default;
    virtual HandlerType type() const;
    virtual bool process(LogMessage &lmsg) = 0;
};

The process() method returns:


Namespace

All QtLogger classes are in the QtLogger namespace:

using namespace QtLogger;

// Or use fully qualified names:
QtLogger::Logger *logger = QtLogger::Logger::instance();
QtLogger::PatternFormatterPtr fmt = QtLogger::PatternFormatterPtr::create("...");

Previous Next
← Configuration Core Classes →