#include <boost/preprocessor/comparison/less_equal.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/facilities/expand.hpp>
Namespaces | |
namespace | kanzi |
Macros | |
#define | KZ_LOG_CREATE_LEVEL(value, name) |
Creates a log level. | |
#define | KZ_LOG_GET_LEVEL_NAME(level) |
Gets a log level name. | |
#define | KZ_LOG_GET_LEVEL_VALUE(level) |
Gets a log level value. | |
#define | KZ_LOG_IS_LEVEL_ENABLED(level) |
Checks whether a log level is enabled. | |
#define | KZ_LOG_LEVEL_ENABLED_THRESHOLD |
To set the enabled log level threshold, define this macro to one of the existing log levels. | |
#define | KZ_LOG_LEVEL_ERROR |
Use the error log level to log critical malfunction messages. | |
#define | KZ_LOG_LEVEL_INFO |
Use the info log level to log information messages that give a brief overview of what is happening in the system, log states passed, static information about configuration, and so on. | |
#define | KZ_LOG_LEVEL_TRACE |
Use the trace log level to get the maximum amount of information about the system. | |
#define | KZ_LOG_LEVEL_WARNING |
Use the warning log level to log facts that require attention, but do not necessarily mean malfunction. | |
Enumerations | |
enum | kanzi::LogLevel { kanzi::LogLevelError , kanzi::LogLevelWarning , kanzi::LogLevelInfo , kanzi::LogLevelTrace } |
The log levels. More... | |
The Logging subsystem provides several log levels that you can use to classify log messages. See Log levels. Log levels are ordered according to their severity. To implement the ordering, a distinct integer number is assigned to each level. The most severe log level is the error log level (KZ_LOG_LEVEL_ERROR), which is assigned the value 1. The larger the log level value is, the less severe the message. To get the integer value assigned to a log level, use the KZ_LOG_GET_LEVEL_VALUE macro.
Each log level has a name, which is a short string describing the log level. For example, "error". A logger can use the name when writing a log message. See kanzi::AbstractLogger. To get the name of a log level, use the KZ_LOG_GET_LEVEL_NAME macro.
These are the log levels available in the Kanzi logging subsystem:
Log level | Severity value | Name |
---|---|---|
KZ_LOG_LEVEL_ERROR | 1 | error |
KZ_LOG_LEVEL_WARNING | 2 | warning |
KZ_LOG_LEVEL_INFO | 3 | info |
KZ_LOG_LEVEL_TRACE | 4 | trace |
The KZ_LOG_LEVEL_ENABLED_THRESHOLD macro defines which log levels are enabled. A log level is enabled if it is the same or more severe than the log level that KZ_LOG_LEVEL_ENABLED_THRESHOLD is set to. Otherwise the log level is disabled. To check whether a particular log level is enabled, use the KZ_LOG_IS_LEVEL_ENABLED macro. To learn how the state of the log level affects message filtering, see Classifying and filtering log messages.
The integer value assigned to the log level along with its name are passed to the KZ_LOG_CREATE_LEVEL macro when the log level is defined. See Log levels for details.
#define KZ_LOG_LEVEL_ENABLED_THRESHOLD |
To set the enabled log level threshold, define this macro to one of the existing log levels.
The log level set in the KZ_LOG_LEVEL_ENABLED_THRESHOLD macro and all the log levels with higher severity are enabled. The log levels less severe than the one set in KZ_LOG_LEVEL_ENABLED_THRESHOLD are disabled. If you do not define this macro before including this header, it is defined to the default value of KZ_LOG_LEVEL_INFO. To learn how KZ_LOG_LEVEL_ENABLED_THRESHOLD is used in message filtering, see Log Level.