LogIt++
Loading...
Searching...
No Matches
LogMacros.hpp File Reference

Provides various logging macros for different log levels and options. More...

Go to the source code of this file.

Macros

#define _LOGIT_LOG_MACROS_HPP_INCLUDED
 
#define LOGIT_FUNCTION   __func__
 
#define LOGIT_ENUM_TO_STR_CASE(value)
 
#define LOGIT_LOG_AND_RETURN_NOARGS(level, format)
 Logs a message without arguments.
 
#define LOGIT_LOG_AND_RETURN_NOARGS_WITH_INDEX(level, index, format)
 Logs a message to a specific logger without arguments.
 
#define LOGIT_LOG_AND_RETURN(level, format, arg_names, ...)
 Logs a message with arguments.
 
#define LOGIT_LOG_AND_RETURN_PRINT(level, arg_names, ...)
 Logs a message with arguments, but prints them without using a format string.
 
#define LOGIT_LOG_AND_RETURN_WITH_INDEX(level, index, format, arg_names, ...)
 Logs a message with arguments to a specific logger.
 
#define LOGIT_LOG_AND_RETURN_PRINT_WITH_INDEX(level, index, arg_names, ...)
 Logs a message with arguments to a specific logger, but prints them without using a format string.
 
#define LOGIT_TRACE(...)
 
#define LOGIT_TRACE0()
 
#define LOGIT_0TRACE()
 
#define LOGIT_0_TRACE()
 
#define LOGIT_NOARGS_TRACE()
 
#define LOGIT_FORMAT_TRACE(fmt, ...)
 
#define LOGIT_PRINT_TRACE(...)
 
#define LOGIT_PRINTF_TRACE(fmt, ...)
 
#define LOGIT_TRACE_TO(index, ...)
 
#define LOGIT_TRACE0_TO(index)
 
#define LOGIT_0TRACE_TO(index)
 
#define LOGIT_0_TRACE_TO(index)
 
#define LOGIT_NOARGS_TRACE_TO(index)
 
#define LOGIT_FORMAT_TRACE_TO(index, fmt, ...)
 
#define LOGIT_PRINT_TRACE_TO(index, ...)
 
#define LOGIT_PRINTF_TRACE_TO(index, fmt, ...)
 
#define LOGIT_INFO(...)
 
#define LOGIT_INFO0()
 
#define LOGIT_0INFO()
 
#define LOGIT_0_INFO()
 
#define LOGIT_NOARGS_INFO()
 
#define LOGIT_FORMAT_INFO(fmt, ...)
 
#define LOGIT_PRINT_INFO(...)
 
#define LOGIT_PRINTF_INFO(fmt, ...)
 
#define LOGIT_INFO_TO(index, ...)
 
#define LOGIT_INFO0_TO(index)
 
#define LOGIT_0INFO_TO(index)
 
#define LOGIT_0_INFO_TO(index)
 
#define LOGIT_NOARGS_INFO_TO(index)
 
#define LOGIT_FORMAT_INFO_TO(index, fmt, ...)
 
#define LOGIT_PRINT_INFO_TO(index, ...)
 
#define LOGIT_PRINTF_INFO_TO(index, fmt, ...)
 
#define LOGIT_DEBUG(...)
 
#define LOGIT_DEBUG0()
 
#define LOGIT_0DEBUG()
 
#define LOGIT_0_DEBUG()
 
#define LOGIT_NOARGS_DEBUG()
 
#define LOGIT_FORMAT_DEBUG(fmt, ...)
 
#define LOGIT_PRINT_DEBUG(...)
 
#define LOGIT_PRINTF_DEBUG(fmt, ...)
 
#define LOGIT_DEBUG_TO(index, ...)
 
#define LOGIT_DEBUG0_TO(index)
 
#define LOGIT_0DEBUG_TO(index)
 
#define LOGIT_0_DEBUG_TO(index)
 
#define LOGIT_NOARGS_DEBUG_TO(index)
 
#define LOGIT_FORMAT_DEBUG_TO(index, fmt, ...)
 
#define LOGIT_PRINT_DEBUG_TO(index, ...)
 
#define LOGIT_PRINTF_DEBUG_TO(index, fmt, ...)
 
#define LOGIT_WARN(...)
 
#define LOGIT_WARN0()
 
#define LOGIT_0WARN()
 
#define LOGIT_0_WARN()
 
#define LOGIT_NOARGS_WARN()
 
#define LOGIT_FORMAT_WARN(fmt, ...)
 
#define LOGIT_PRINT_WARN(...)
 
#define LOGIT_PRINTF_WARN(fmt, ...)
 
#define LOGIT_WARN_TO(index, ...)
 
#define LOGIT_WARN0_TO(index)
 
#define LOGIT_0WARN_TO(index)
 
#define LOGIT_0_WARN_TO(index)
 
#define LOGIT_NOARGS_WARN_TO(index)
 
#define LOGIT_FORMAT_WARN_TO(index, fmt, ...)
 
#define LOGIT_PRINT_WARN_TO(index, ...)
 
#define LOGIT_PRINTF_WARN_TO(index, fmt, ...)
 
#define LOGIT_ERROR(...)
 
#define LOGIT_ERROR0()
 
#define LOGIT_0ERROR()
 
#define LOGIT_0_ERROR()
 
#define LOGIT_NOARGS_ERROR()
 
#define LOGIT_FORMAT_ERROR(fmt, ...)
 
#define LOGIT_PRINT_ERROR(...)
 
#define LOGIT_PRINTF_ERROR(fmt, ...)
 
#define LOGIT_ERROR_TO(index, ...)
 
#define LOGIT_ERROR0_TO(index)
 
#define LOGIT_0ERROR_TO(index)
 
#define LOGIT_0_ERROR_TO(index)
 
#define LOGIT_NOARGS_ERROR_TO(index)
 
#define LOGIT_FORMAT_ERROR_TO(index, fmt, ...)
 
#define LOGIT_PRINT_ERROR_TO(index, ...)
 
#define LOGIT_PRINTF_ERROR_TO(index, fmt, ...)
 
#define LOGIT_FATAL(...)
 
#define LOGIT_FATAL0()
 
#define LOGIT_0FATAL()
 
#define LOGIT_0_FATAL()
 
#define LOGIT_NOARGS_FATAL()
 
#define LOGIT_FORMAT_FATAL(fmt, ...)
 
#define LOGIT_PRINT_FATAL(...)
 
#define LOGIT_PRINTF_FATAL(fmt, ...)
 
#define LOGIT_FATAL_TO(index, ...)
 
#define LOGIT_FATAL0_TO(index)
 
#define LOGIT_0FATAL_TO(index)
 
#define LOGIT_0_FATAL_TO(index)
 
#define LOGIT_NOARGS_FATAL_TO(index)
 
#define LOGIT_FORMAT_FATAL_TO(index, fmt, ...)
 
#define LOGIT_PRINT_FATAL_TO(index, ...)
 
#define LOGIT_PRINTF_FATAL_TO(index, fmt, ...)
 
#define LOGIT_ADD_LOGGER(logger_type, logger_args, formatter_type, formatter_args)
 Macro for adding a logger with a specific formatter.
 
#define LOGIT_ADD_LOGGER_SINGLE_MODE(logger_type, logger_args, formatter_type, formatter_args)
 Macro for adding a logger with a specific formatter in single_mode.
 
#define LOGIT_ADD_CONSOLE(pattern, async)
 Macro for adding a console logger with a specific pattern and mode.
 
#define LOGIT_ADD_CONSOLE_SINGLE_MODE(pattern, async)
 Macro for adding a console logger in single_mode with a specific pattern and mode.
 
#define LOGIT_ADD_CONSOLE_DEFAULT()
 Macro for adding the default console logger. This logger uses the default format pattern and asynchronous logging. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_ADD_CONSOLE_DEFAULT_SINGLE_MODE()
 Macro for adding the default console logger in single_mode. In single_mode, the console logger can only be invoked using macros like LOGIT_TRACE_TO. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_ADD_FILE_LOGGER(directory, async, auto_delete_days, pattern)
 Macro for adding a file logger with specific settings.
 
#define LOGIT_ADD_FILE_LOGGER_SINGLE_MODE(directory, async, auto_delete_days, pattern)
 Macro for adding a file logger in single_mode with specific settings.
 
#define LOGIT_ADD_FILE_LOGGER_DEFAULT()
 Macro for adding the default file logger. This logger writes logs to the default file path and deletes logs older than the default number of days. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_ADD_FILE_LOGGER_DEFAULT_SINGLE_MODE()
 Macro for adding the default file logger in single_mode. In single_mode, the file logger can only be invoked using macros like LOGIT_TRACE_TO. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_ADD_UNIQUE_FILE_LOGGER(directory, async, auto_delete_days, hash_length, pattern)
 Macro for adding a unique file logger with custom parameters.
 
#define LOGIT_ADD_UNIQUE_FILE_LOGGER_SINGLE_MODE(directory, async, auto_delete_days, hash_length, pattern)
 Macro for adding a unique file logger in single_mode with custom parameters.
 
#define LOGIT_ADD_UNIQUE_FILE_LOGGER_DEFAULT()
 Macro for adding the default unique file logger. This macro adds a UniqueFileLogger with default settings, which writes each log message to a new file. Log files are stored in the directory specified by LOGIT_UNIQUE_FILE_LOGGER_PATH, using asynchronous mode and auto-deleting logs older than the number of days specified by LOGIT_FILE_LOGGER_AUTO_DELETE_DAYS. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_ADD_UNIQUE_FILE_LOGGER_DEFAULT_SINGLE_MODE()
 Macro for adding the default unique file logger in single_mode. This macro adds a UniqueFileLogger with default settings, which writes each log message to a new file. Log files are stored in the directory specified by LOGIT_UNIQUE_FILE_LOGGER_PATH, using asynchronous mode and auto-deleting logs older than the number of days specified by LOGIT_FILE_LOGGER_AUTO_DELETE_DAYS. In single_mode, the unique file logger can only be invoked using macros like LOGIT_TRACE_TO. This version uses new and std::unique_ptr for C++11 compatibility.
 
#define LOGIT_WAIT()
 Macro for waiting for all asynchronous loggers to finish processing.
 
Stream-Based Logging

Macros for logging using a stream-like syntax.

#define LOGIT_STREAM(level)
 Begin a log stream for the specified log level.
 
#define LOGIT_STREAM_WITH_INDEX(level, index)
 Begin a log stream for the specified log level, targeting a specific logger.
 
#define LOGIT_STREAM_TRACE()
 
#define LOGIT_STREAM_DEBUG()
 
#define LOGIT_STREAM_INFO()
 
#define LOGIT_STREAM_WARN()
 
#define LOGIT_STREAM_ERROR()
 
#define LOGIT_STREAM_FATAL()
 
#define LOGIT_STREAM_TRACE_TO(index)
 
#define LOGIT_STREAM_DEBUG_TO(index)
 
#define LOGIT_STREAM_INFO_TO(index)
 
#define LOGIT_STREAM_WARN_TO(index)
 
#define LOGIT_STREAM_ERROR_TO(index)
 
#define LOGIT_STREAM_FATAL_TO(index)
 
Conditional Logging

Macros for logging based on conditions.

#define LOGIT_TRACE_IF(condition, ...)
 
#define LOGIT_TRACE0_IF(condition)
 
#define LOGIT_0TRACE_IF(condition)
 
#define LOGIT_0_TRACE_IF(condition)
 
#define LOGIT_NOARGS_TRACE_IF(condition)
 
#define LOGIT_FORMAT_TRACE_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_TRACE_IF(condition, fmt)
 
#define LOGIT_PRINTF_TRACE_IF(condition, fmt, ...)
 
#define LOGIT_INFO_IF(condition, ...)
 
#define LOGIT_INFO0_IF(condition)
 
#define LOGIT_0INFO_IF(condition)
 
#define LOGIT_0_INFO_IF(condition)
 
#define LOGIT_NOARGS_INFO_IF(condition)
 
#define LOGIT_FORMAT_INFO_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_INFO_IF(condition, fmt)
 
#define LOGIT_PRINTF_INFO_IF(condition, fmt, ...)
 
#define LOGIT_DEBUG_IF(condition, ...)
 
#define LOGIT_DEBUG0_IF(condition)
 
#define LOGIT_0DEBUG_IF(condition)
 
#define LOGIT_0_DEBUG_IF(condition)
 
#define LOGIT_NOARGS_DEBUG_IF(condition)
 
#define LOGIT_FORMAT_DEBUG_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_DEBUG_IF(condition, fmt)
 
#define LOGIT_PRINTF_DEBUG_IF(condition, fmt, ...)
 
#define LOGIT_WARN_IF(condition, ...)
 
#define LOGIT_WARN0_IF(condition)
 
#define LOGIT_0WARN_IF(condition)
 
#define LOGIT_0_WARN_IF(condition)
 
#define LOGIT_NOARGS_WARN_IF(condition)
 
#define LOGIT_FORMAT_WARN_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_WARN_IF(condition, fmt)
 
#define LOGIT_PRINTF_WARN_IF(condition, fmt, ...)
 
#define LOGIT_ERROR_IF(condition, ...)
 
#define LOGIT_ERROR0_IF(condition)
 
#define LOGIT_0ERROR_IF(condition)
 
#define LOGIT_0_ERROR_IF(condition)
 
#define LOGIT_NOARGS_ERROR_IF(condition)
 
#define LOGIT_FORMAT_ERROR_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_ERROR_IF(condition, fmt)
 
#define LOGIT_PRINTF_ERROR_IF(condition, fmt, ...)
 
#define LOGIT_FATAL_IF(condition, ...)
 
#define LOGIT_FATAL0_IF(condition)
 
#define LOGIT_0FATAL_IF(condition)
 
#define LOGIT_0_FATAL_IF(condition)
 
#define LOGIT_NOARGS_FATAL_IF(condition)
 
#define LOGIT_FORMAT_FATAL_IF(condition, fmt, ...)
 
#define LOGIT_PRINT_FATAL_IF(condition, fmt)
 
#define LOGIT_PRINTF_FATAL_IF(condition, fmt, ...)
 
Logger Management

Macros for managing loggers.

#define LOGIT_GET_STRING_PARAM(logger_index, param)
 Macro for retrieving a string parameter from a logger.
 
#define LOGIT_GET_INT_PARAM(logger_index, param)
 Macro for retrieving an integer parameter from a logger.
 
#define LOGIT_GET_FLOAT_PARAM(logger_index, param)
 Macro for retrieving a floating-point parameter from a logger.
 
#define LOGIT_GET_LAST_FILE_NAME(logger_index)
 Macro for retrieving the last log file name from a specific logger.
 
#define LOGIT_GET_LAST_FILE_PATH(logger_index)
 Macro for retrieving the last log file path from a specific logger.
 
#define LOGIT_GET_LAST_LOG_TIMESTAMP(logger_index)
 Macro for retrieving the timestamp of the last log from a specific logger.
 
#define LOGIT_GET_TIME_SINCE_LAST_LOG(logger_index)
 Macro for retrieving the time since the last log from a specific logger.
 
#define LOGIT_SET_LOGGER_ENABLED(logger_index, enabled)
 Enables or disables a logger by index.
 
#define LOGIT_IS_LOGGER_ENABLED(logger_index)
 Checks whether a logger is enabled.
 
#define LOGIT_SET_SINGLE_MODE(logger_index, single_mode)
 Sets the single-mode flag for a logger.
 
#define LOGIT_IS_SINGLE_MODE(logger_index)
 Checks whether a logger is in single mode.
 

Detailed Description

Provides various logging macros for different log levels and options.

Definition in file LogMacros.hpp.

Macro Definition Documentation

◆ _LOGIT_LOG_MACROS_HPP_INCLUDED

#define _LOGIT_LOG_MACROS_HPP_INCLUDED

Definition at line 3 of file LogMacros.hpp.