log_macro.hpp File Reference
#include <kanzi/core/log/log_category.hpp>
#include <kanzi/core/log/log_level.hpp>
#include <kanzi/core/cpp/cstddef.hpp>
#include <boost/preprocessor/arithmetic/dec.hpp>
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/control/expr_if.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/logical/and.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/tuple/to_seq.hpp>

Classes

struct  kanzi::detail::IntegerToLogLevel< size_t >
 Converts integer representation of log level to enumeration. More...
 
struct  kanzi::detail::IntegerToLogLevel< KZ_LOG_GET_LEVEL_VALUE(KZ_LOG_LEVEL_ERROR)>
 Converts integer representation of error log level to enumeration. More...
 
struct  kanzi::detail::IntegerToLogLevel< KZ_LOG_GET_LEVEL_VALUE(KZ_LOG_LEVEL_WARNING)>
 Converts integer value of warning log level to enumeration. More...
 
struct  kanzi::detail::IntegerToLogLevel< KZ_LOG_GET_LEVEL_VALUE(KZ_LOG_LEVEL_INFO)>
 Converts integer value of info log level to enumeration. More...
 
struct  kanzi::detail::IntegerToLogLevel< KZ_LOG_GET_LEVEL_VALUE(KZ_LOG_LEVEL_TRACE)>
 Converts integer value of trace log level to enumeration. More...
 

Namespaces

 kanzi
 
 kanzi::detail
 

Macros

#define KZ_LOG_BUNDLE_MULTIPLE_MESSAGES_INTERNAL(numberOfMessages, messages)
 Bundles multiple formatted messages for internal use by Logging subsystem. More...
 
#define KZ_LOG_FILTER_MESSAGES_INTERNAL(logger, level, category, messages)
 Filters messages by log level and category and appends messages to log if they pass filter. More...
 
#define KZ_LOG_ARE_LEVEL_AND_CATEGORY_ENABLED(level, category)
 Tests if level and category are enabled. More...
 
#define KZ_LOG_APPEND_SINGLE_MESSAGE_INTERNAL(unsusedParameter, method, value)
 Helper macro. More...
 
#define KZ_LOG_APPEND_FILTERED_MESSAGES_INTERNAL(logger, level, category, messages)
 Logs message after filter is passed. See KZ_LOG_APPLY_FILTER_INTERNAL() for details. More...
 
#define KZ_LOG_TYPENAME_TN_INTERNAL(notUsed, argNum, maxArgNum)
 Helper macro. More...
 
#define KZ_LOG_CONST_REF_TN_INTERNAL(notUsed, argNum, maxArgNum)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_TEMPLATE_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_PASS_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_WRAP_ONE_ARGUMENT_INTERNAL(notUsed, argNum, maxArgNum)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_WRAP_ALL_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_ENUM_ONE_WRAPPED_ARGUMENT_INTERNAL(notUsed, argNum, maxArgNum)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_ENUM_ALL_WRAPPED_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_WRAP_ARGUMENTS_INTERNAL(numArgs)
 Helper macro. More...
 
#define KZ_LOG_APPEND_MESSAGE_DEFINITION(numArgs)
 Creates definition of template appendMessage() method with specified number of template arguments. More...
 

Macro Definition Documentation

#define KZ_LOG_BUNDLE_MULTIPLE_MESSAGES_INTERNAL (   numberOfMessages,
  messages 
)

Bundles multiple formatted messages for internal use by Logging subsystem.

You should not use it directly. Only Logging subsystem uses this macro. It bundles several formatted messages into sequence to be passed to KZ_LOG_FILTER_MESSAGES_INTERNAL() as messages argument. See kzLog() and kzLogAssertionFailure() for example.

Parameters
numberOfMessagesNumber of formatted messages in a bundle
messagesMessages to be bundled
#define KZ_LOG_FILTER_MESSAGES_INTERNAL (   logger,
  level,
  category,
  messages 
)

Filters messages by log level and category and appends messages to log if they pass filter.

This macro filters log messages based on enabled level and category. For message to pass filter both level and category should be enabled.

Parameters
loggerLogger to be used to write messages to.
levelLevel of the message.
categoryCategory of the message.
messageLog message. See kzLog() macro for details.
#define KZ_LOG_ARE_LEVEL_AND_CATEGORY_ENABLED (   level,
  category 
)

Tests if level and category are enabled.

#define KZ_LOG_APPEND_SINGLE_MESSAGE_INTERNAL (   unsusedParameter,
  method,
  value 
)

Helper macro.

#define KZ_LOG_APPEND_FILTERED_MESSAGES_INTERNAL (   logger,
  level,
  category,
  messages 
)

Logs message after filter is passed. See KZ_LOG_APPLY_FILTER_INTERNAL() for details.

#define KZ_LOG_TYPENAME_TN_INTERNAL (   notUsed,
  argNum,
  maxArgNum 
)

Helper macro.

#define KZ_LOG_CONST_REF_TN_INTERNAL (   notUsed,
  argNum,
  maxArgNum 
)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_TEMPLATE_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_PASS_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_WRAP_ONE_ARGUMENT_INTERNAL (   notUsed,
  argNum,
  maxArgNum 
)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_WRAP_ALL_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_ENUM_ONE_WRAPPED_ARGUMENT_INTERNAL (   notUsed,
  argNum,
  maxArgNum 
)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_ENUM_ALL_WRAPPED_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_WRAP_ARGUMENTS_INTERNAL (   numArgs)

Helper macro.

#define KZ_LOG_APPEND_MESSAGE_DEFINITION (   numArgs)

Creates definition of template appendMessage() method with specified number of template arguments.

Parameters
numArgsThe number of template arguments.