log4cplus  2.0.0
Namespaces | Defines | Functions
loggingmacros.h File Reference

This header defines the logging macros. More...

#include <log4cplus/config.hxx>
#include <log4cplus/streams.h>
#include <log4cplus/logger.h>
#include <log4cplus/helpers/snprintf.h>
#include <log4cplus/tracelogger.h>
#include <sstream>
#include <utility>
Include dependency graph for loggingmacros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  log4cplus
namespace  log4cplus::detail

Defines

#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()   /* empty */
#define LOG4CPLUS_RESTORE_DOWHILE_WARNING()   /* empty */
#define LOG4CPLUS_DOWHILE_NOTHING()
#define LOG4CPLUS_MACRO_FUNCTION()   0
#define LOG4CPLUS_MACRO_TRACE_LOG_LEVEL(pred)   LOG4CPLUS_UNLIKELY (pred)
#define LOG4CPLUS_MACRO_DEBUG_LOG_LEVEL(pred)   LOG4CPLUS_UNLIKELY (pred)
#define LOG4CPLUS_MACRO_INFO_LOG_LEVEL(pred)   LOG4CPLUS_LIKELY (pred)
#define LOG4CPLUS_MACRO_WARN_LOG_LEVEL(pred)   LOG4CPLUS_LIKELY (pred)
#define LOG4CPLUS_MACRO_ERROR_LOG_LEVEL(pred)   LOG4CPLUS_LIKELY (pred)
#define LOG4CPLUS_MACRO_FATAL_LOG_LEVEL(pred)   LOG4CPLUS_LIKELY (pred)
#define LOG4CPLUS_MACRO_LOGLEVEL_PRED(pred, logLevel)   LOG4CPLUS_MACRO_ ## logLevel (pred)
 Dispatch to LOG4CPLUS_MACRO_LOGLEVEL_* depending on log level.
#define LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM(var)
#define LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF(var)
#define LOG4CPLUS_MACRO_BODY(logger, logEvent, logLevel)
#define LOG4CPLUS_MACRO_STR_BODY(logger, logEvent, logLevel)
#define LOG4CPLUS_MACRO_FMT_BODY(logger, logLevel,...)
#define LOG4CPLUS_TRACE_METHOD(logger, logEvent)
#define LOG4CPLUS_TRACE(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, TRACE_LOG_LEVEL)
 TraceLogger to log a TRACE_LOG_LEVEL message to logger upon entry and exiting of a method.
#define LOG4CPLUS_TRACE_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, TRACE_LOG_LEVEL)
#define LOG4CPLUS_TRACE_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, TRACE_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_DEBUG(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, DEBUG_LOG_LEVEL)
 DEBUG_LOG_LEVEL message to logger.
#define LOG4CPLUS_DEBUG_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, DEBUG_LOG_LEVEL)
#define LOG4CPLUS_DEBUG_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, DEBUG_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_INFO(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, INFO_LOG_LEVEL)
 INFO_LOG_LEVEL message to logger.
#define LOG4CPLUS_INFO_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, INFO_LOG_LEVEL)
#define LOG4CPLUS_INFO_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, INFO_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_WARN(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, WARN_LOG_LEVEL)
 WARN_LOG_LEVEL message to logger.
#define LOG4CPLUS_WARN_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, WARN_LOG_LEVEL)
#define LOG4CPLUS_WARN_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, WARN_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_ERROR(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, ERROR_LOG_LEVEL)
 ERROR_LOG_LEVEL message to logger.
#define LOG4CPLUS_ERROR_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, ERROR_LOG_LEVEL)
#define LOG4CPLUS_ERROR_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, ERROR_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_FATAL(logger, logEvent)   LOG4CPLUS_MACRO_BODY (logger, logEvent, FATAL_LOG_LEVEL)
 FATAL_LOG_LEVEL message to logger.
#define LOG4CPLUS_FATAL_STR(logger, logEvent)   LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, FATAL_LOG_LEVEL)
#define LOG4CPLUS_FATAL_FMT(logger,...)   LOG4CPLUS_MACRO_FMT_BODY (logger, FATAL_LOG_LEVEL, __VA_ARGS__)
#define LOG4CPLUS_ASSERT_STRINGIFY(X)   #X
 Helper macro for LOG4CPLUS_ASSERT() macro.
#define LOG4CPLUS_ASSERT(logger, condition)
 If the condition given in second parameter evaluates false, this macro logs it using FATAL log level, including the condition's source text.

Functions

Logger log4cplus::detail::macros_get_logger (Logger const &logger)
Logger const & log4cplus::detail::macros_get_logger (Logger &logger)
Logger log4cplus::detail::macros_get_logger (Logger &&logger)
Logger log4cplus::detail::macros_get_logger (tstring const &logger)
Logger log4cplus::detail::macros_get_logger (tchar const *logger)
LOG4CPLUS_EXPORT void log4cplus::detail::clear_tostringstream (tostringstream &)
LOG4CPLUS_EXPORT
log4cplus::tostringstream
log4cplus::detail::get_macro_body_oss ()
LOG4CPLUS_EXPORT
log4cplus::helpers::snprintf_buf
log4cplus::detail::get_macro_body_snprintf_buf ()
LOG4CPLUS_EXPORT void log4cplus::detail::macro_forced_log (log4cplus::Logger const &, log4cplus::LogLevel, log4cplus::tstring const &, char const *, int, char const *)
LOG4CPLUS_EXPORT void log4cplus::detail::macro_forced_log (log4cplus::Logger const &, log4cplus::LogLevel, log4cplus::tchar const *, char const *, int, char const *)

Detailed Description

This header defines the logging macros.

Definition in file loggingmacros.h.


Define Documentation

#define LOG4CPLUS_ASSERT (   logger,
  condition 
)
Value:
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()                                \
    do {                                                                \
        if (LOG4CPLUS_UNLIKELY(! (condition)))                          \
            LOG4CPLUS_FATAL_STR ((logger),                              \
                LOG4CPLUS_TEXT ("failed condition: ")                   \
                LOG4CPLUS_TEXT (LOG4CPLUS_ASSERT_STRINGIFY (condition))); \
    } while (0)                                                         \
    LOG4CPLUS_RESTORE_DOWHILE_WARNING()

If the condition given in second parameter evaluates false, this macro logs it using FATAL log level, including the condition's source text.

Definition at line 383 of file loggingmacros.h.

#define LOG4CPLUS_ASSERT_STRINGIFY (   X)    #X

Helper macro for LOG4CPLUS_ASSERT() macro.

Definition at line 378 of file loggingmacros.h.

#define LOG4CPLUS_DEBUG (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, DEBUG_LOG_LEVEL)

DEBUG_LOG_LEVEL message to logger.

logEvent will be streamed into an ostream.

Definition at line 283 of file loggingmacros.h.

#define LOG4CPLUS_DEBUG_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, DEBUG_LOG_LEVEL, __VA_ARGS__)

Definition at line 287 of file loggingmacros.h.

#define LOG4CPLUS_DEBUG_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, DEBUG_LOG_LEVEL)

Definition at line 285 of file loggingmacros.h.

Value:
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()            \
    do { } while (0)                                \
    LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 56 of file loggingmacros.h.

#define LOG4CPLUS_ERROR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, ERROR_LOG_LEVEL)

ERROR_LOG_LEVEL message to logger.

logEvent will be streamed into an ostream.

Definition at line 343 of file loggingmacros.h.

#define LOG4CPLUS_ERROR_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, ERROR_LOG_LEVEL, __VA_ARGS__)

Definition at line 347 of file loggingmacros.h.

#define LOG4CPLUS_ERROR_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, ERROR_LOG_LEVEL)

Definition at line 345 of file loggingmacros.h.

#define LOG4CPLUS_FATAL (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, FATAL_LOG_LEVEL)

FATAL_LOG_LEVEL message to logger.

logEvent will be streamed into an ostream.

Definition at line 363 of file loggingmacros.h.

#define LOG4CPLUS_FATAL_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, FATAL_LOG_LEVEL, __VA_ARGS__)

Definition at line 367 of file loggingmacros.h.

#define LOG4CPLUS_FATAL_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, FATAL_LOG_LEVEL)

Definition at line 365 of file loggingmacros.h.

#define LOG4CPLUS_INFO (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, INFO_LOG_LEVEL)

INFO_LOG_LEVEL message to logger.

logEvent will be streamed into an ostream.

Definition at line 303 of file loggingmacros.h.

#define LOG4CPLUS_INFO_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, INFO_LOG_LEVEL, __VA_ARGS__)

Definition at line 307 of file loggingmacros.h.

#define LOG4CPLUS_INFO_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, INFO_LOG_LEVEL)

Definition at line 305 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_BODY (   logger,
  logEvent,
  logLevel 
)
Value:
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()                                \
    do {                                                                \
        log4cplus::Logger const & _l                                    \
            = log4cplus::detail::macros_get_logger (logger);            \
        if (LOG4CPLUS_MACRO_LOGLEVEL_PRED (                             \
                _l.isEnabledFor (log4cplus::logLevel), logLevel)) {     \
            LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \
            _log4cplus_buf << logEvent;                                 \
            log4cplus::detail::macro_forced_log (_l,                    \
                log4cplus::logLevel, _log4cplus_buf.str(),              \
                __FILE__, __LINE__, LOG4CPLUS_MACRO_FUNCTION ());       \
        }                                                               \
    } while (0)                                                         \
    LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 204 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_DEBUG_LOG_LEVEL (   pred)    LOG4CPLUS_UNLIKELY (pred)

Definition at line 166 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_ERROR_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 172 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_FATAL_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 174 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_FMT_BODY (   logger,
  logLevel,
  ... 
)
Value:
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()                                \
    do {                                                                \
        log4cplus::Logger const & _l                                    \
            = log4cplus::detail::macros_get_logger (logger);            \
        if (LOG4CPLUS_MACRO_LOGLEVEL_PRED (                             \
                _l.isEnabledFor (log4cplus::logLevel), logLevel)) {     \
            LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf);         \
            log4cplus::tchar const * _logEvent                          \
                = _snpbuf.print (__VA_ARGS__);                          \
            log4cplus::detail::macro_forced_log (_l,                    \
                log4cplus::logLevel, _logEvent,                         \
                __FILE__, __LINE__, LOG4CPLUS_MACRO_FUNCTION ());       \
        }                                                               \
    } while(0)                                                          \
    LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 235 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_FUNCTION ( )    0

Definition at line 144 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_INFO_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 168 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_LOGLEVEL_PRED (   pred,
  logLevel 
)    LOG4CPLUS_MACRO_ ## logLevel (pred)

Dispatch to LOG4CPLUS_MACRO_LOGLEVEL_* depending on log level.

Definition at line 179 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_STR_BODY (   logger,
  logEvent,
  logLevel 
)
Value:
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()                                \
    do {                                                                \
        log4cplus::Logger const & _l                                    \
            = log4cplus::detail::macros_get_logger (logger);            \
        if (LOG4CPLUS_MACRO_LOGLEVEL_PRED (                             \
                _l.isEnabledFor (log4cplus::logLevel), logLevel)) {     \
            log4cplus::detail::macro_forced_log (_l,                    \
                log4cplus::logLevel, logEvent,                          \
                __FILE__, __LINE__, LOG4CPLUS_MACRO_FUNCTION ());       \
        }                                                               \
    } while(0)                                                          \
    LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 221 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_TRACE_LOG_LEVEL (   pred)    LOG4CPLUS_UNLIKELY (pred)

Definition at line 164 of file loggingmacros.h.

#define LOG4CPLUS_MACRO_WARN_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 170 of file loggingmacros.h.

#define LOG4CPLUS_RESTORE_DOWHILE_WARNING ( )    /* empty */

Definition at line 52 of file loggingmacros.h.

#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING ( )    /* empty */

Definition at line 51 of file loggingmacros.h.

#define LOG4CPLUS_TRACE (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, TRACE_LOG_LEVEL)

TraceLogger to log a TRACE_LOG_LEVEL message to logger upon entry and exiting of a method.

logEvent will be streamed into an ostream.

Definition at line 262 of file loggingmacros.h.

#define LOG4CPLUS_TRACE_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, TRACE_LOG_LEVEL, __VA_ARGS__)

Definition at line 266 of file loggingmacros.h.

#define LOG4CPLUS_TRACE_METHOD (   logger,
  logEvent 
)
Value:
log4cplus::TraceLogger _log4cplus_trace_logger(logger, logEvent,    \
        __FILE__, __LINE__, LOG4CPLUS_MACRO_FUNCTION ());

Definition at line 259 of file loggingmacros.h.

#define LOG4CPLUS_TRACE_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, TRACE_LOG_LEVEL)

Definition at line 264 of file loggingmacros.h.

#define LOG4CPLUS_WARN (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_BODY (logger, logEvent, WARN_LOG_LEVEL)

WARN_LOG_LEVEL message to logger.

logEvent will be streamed into an ostream.

Definition at line 323 of file loggingmacros.h.

#define LOG4CPLUS_WARN_FMT (   logger,
  ... 
)    LOG4CPLUS_MACRO_FMT_BODY (logger, WARN_LOG_LEVEL, __VA_ARGS__)

Definition at line 327 of file loggingmacros.h.

#define LOG4CPLUS_WARN_STR (   logger,
  logEvent 
)    LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, WARN_LOG_LEVEL)

Definition at line 325 of file loggingmacros.h.