|
libcdoc 0.1.8
|
Generic interface to implement a logger. More...
#include <ILogger.h>
Inherited by libcdoc::ConsoleLogger.
Public Types | |
| enum | LogLevel { LEVEL_FATAL , LEVEL_ERROR , LEVEL_WARNING , LEVEL_INFO , LEVEL_DEBUG , LEVEL_TRACE } |
| Log-level enumeration to indicate severity of the log message. More... | |
Public Member Functions | |
| ILogger () | |
| virtual | ~ILogger () |
| virtual void | LogMessage (LogLevel level, std::string_view file, int line, std::string_view message) |
| Logs given message with given severity, file name and line number. | |
| LogLevel | GetMinLogLevel () const noexcept |
| Returns current minimum log level of the logger. | |
| void | SetMinLogLevel (LogLevel level) noexcept |
| Sets minimum log level for the logger. | |
Static Public Member Functions | |
| static int | addLogger (ILogger *logger) |
| Adds ILogger implementation to logging queue. | |
| static ILogger * | removeLogger (int cookie) |
| Removes logger's instance from the logging queue. | |
| static ILogger * | getLogger () |
| Returns global logger's instance. | |
| static void | setLogger (ILogger *logger) |
Protected Attributes | |
| LogLevel | minLogLevel |
| Minimum level of log messages to log. | |
Generic interface to implement a logger.
Log-level enumeration to indicate severity of the log message.
|
inline |
References LEVEL_WARNING, and minLogLevel.
Referenced by addLogger(), getLogger(), removeLogger(), and setLogger().
|
inlinevirtual |
|
static |
Adds ILogger implementation to logging queue.
This function does not take ownership of the logger's instance. It is up to the caller to free the resources of the logger's instance and keep it alive until removed from the queue.
| logger | Logger's instance to be added. |
References ILogger().
|
static |
Returns global logger's instance.
References ILogger().
Referenced by libcdoc::LogFormat(), and libcdoc::LogFormat().
|
inlinenoexcept |
|
inlinevirtual |
Logs given message with given severity, file name and line number.
| level | Severity of the log message. |
| file | File name where the log message was recorded. |
| line | Line number in the file where the log message was recorded. |
| message | The log message. |
Every class implementing the ILogger interface must implement the member function. Default implementation does nothing.
Reimplemented in libcdoc::ConsoleLogger.
Referenced by libcdoc::LogFormat(), and libcdoc::LogFormat().
|
static |
|
inlinenoexcept |
Sets minimum log level for the logger.
| level | minimum level to log. |
Sets minimum level of log messages to log. For example, if the minimum log level is set to LogLevelInfo (default), then LogLevelFatal, LogLevelError, LogLevelWarning and LogLevelInfo messages are logged, but not LogLevelDebug or LogLevelTrace messages.
References minLogLevel.
|
protected |
Minimum level of log messages to log.
Referenced by GetMinLogLevel(), ILogger(), libcdoc::ConsoleLogger::LogMessage(), and SetMinLogLevel().