2022-04-18 16:17:06



Detailed Description

The AbstractAppender class provides an abstract base class for writing a log entries. The AbstractAppender class is the base interface class for all log appenders that could be used with Logger.

AbstractAppender provides a common implementation for the thread safe, mutex-protected logging of application messages, such as ConsoleAppender , FileAppender or something else. AbstractAppender is abstract and can not be instantiated, but you can use any of its subclasses or create a custom log appender at your choice.

Appenders are the logical devices that is aimed to be attached to Logger object by calling Logger::registerAppender() . On each log record call from the application Logger object sequentially calls write() function on all the appenders registered in it.

You can subclass AbstractAppender to implement a logging target of any kind you like. It may be the external logging subsystem (for example, syslog in *nix), XML file, SQL database entries, D-Bus messages or anything else you can imagine.

For the simple non-structured plain text logging (for example, to a plain text file or to the console output) you may like to subclass the AbstractStringAppender instead of AbstractAppender , which will give you a more convenient way to control the format of the log output.

See also AbstractStringAppender Logger::registerAppender()


[public constructor  ]



[public destructor  virtual]



[public plain  ]

Logger::LogLevel detailsLevel() const Log records with a log level lower than a current will be silently ignored by appender and would not be sent to its append() function.

It provides additional logging flexibility, allowing you to set the different severity levels for different types of logs.

Note: This function is thread safe.

See also setDetailsLevel() Logger::LogLevel


[public plain  ]

void setDetailsLevel(Logger::LogLevel level) Default details level is Logger::Debug

Note: This function is thread safe.

See also detailsLevel() Logger::LogLevel


[public plain  ]

void setDetailsLevel(const QString &level) This function is provided for convenience, it behaves like an above function.

See also detailsLevel() Logger::LogLevel


[public plain  ]

void write(const QDateTime &timeStamp, Logger::LogLevel logLevel, const char *file, int line, const char *function, const QString &category, const QString &message) This is the function called by Logger object to write a log message to the appender.

Note: This function is thread safe.

See also Logger::write() detailsLevel()


[protected plain  ]

void append(const QDateTime &timeStamp, Logger::LogLevel logLevel, const char *file, int line, const char *function, const QString &category, const QString &message) = 0