log4cplus  2.0.5
Namespaces | Macros | Functions
loggingmacros.h File Reference
#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

 log4cplus
 
 log4cplus::detail
 

Macros

#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()   /* empty */
 
#define LOG4CPLUS_RESTORE_DOWHILE_WARNING()   /* empty */
 
#define LOG4CPLUS_DOWHILE_NOTHING()
 
#define LOG4CPLUS_MACRO_FUNCTION()   nullptr
 
#define LOG4CPLUS_MACRO_FILE()   nullptr
 
#define LOG4CPLUS_MACRO_FILE()   __FILE__
 
#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. More...
 
#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)
 
#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)
 
#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)
 
#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)
 
#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)
 
#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)
 
#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. More...
 
#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. More...
 

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::tostringstreamlog4cplus::detail::get_macro_body_oss ()
 
LOG4CPLUS_EXPORT log4cplus::helpers::snprintf_buflog4cplus::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.

Macro Definition Documentation

◆ LOG4CPLUS_ASSERT

#define LOG4CPLUS_ASSERT (   logger,
  condition 
)
Value:
do { \
if (LOG4CPLUS_UNLIKELY(! (condition))) \
LOG4CPLUS_FATAL_STR ((logger), \
LOG4CPLUS_TEXT ("failed 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 395 of file loggingmacros.h.

◆ LOG4CPLUS_ASSERT_STRINGIFY

#define LOG4CPLUS_ASSERT_STRINGIFY (   X)    #X

Helper macro for LOG4CPLUS_ASSERT() macro.

Definition at line 390 of file loggingmacros.h.

◆ LOG4CPLUS_DEBUG

#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 295 of file loggingmacros.h.

◆ LOG4CPLUS_DEBUG_FMT

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

Definition at line 299 of file loggingmacros.h.

◆ LOG4CPLUS_DEBUG_STR

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

Definition at line 297 of file loggingmacros.h.

◆ LOG4CPLUS_DOWHILE_NOTHING

#define LOG4CPLUS_DOWHILE_NOTHING ( )
Value:
do { } while (0) \
LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 57 of file loggingmacros.h.

◆ LOG4CPLUS_ERROR

#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 355 of file loggingmacros.h.

◆ LOG4CPLUS_ERROR_FMT

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

Definition at line 359 of file loggingmacros.h.

◆ LOG4CPLUS_ERROR_STR

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

Definition at line 357 of file loggingmacros.h.

◆ LOG4CPLUS_FATAL

#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 375 of file loggingmacros.h.

◆ LOG4CPLUS_FATAL_FMT

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

Definition at line 379 of file loggingmacros.h.

◆ LOG4CPLUS_FATAL_STR

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

Definition at line 377 of file loggingmacros.h.

◆ LOG4CPLUS_INFO

#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 315 of file loggingmacros.h.

◆ LOG4CPLUS_INFO_FMT

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

Definition at line 319 of file loggingmacros.h.

◆ LOG4CPLUS_INFO_STR

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

Definition at line 317 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_BODY

#define LOG4CPLUS_MACRO_BODY (   logger,
  logEvent,
  logLevel 
)
Value:
do { \
log4cplus::Logger const & _l \
_l.isEnabledFor (log4cplus::logLevel), logLevel)) { \
LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \
_log4cplus_buf << logEvent; \
log4cplus::logLevel, _log4cplus_buf.str(), \
LOG4CPLUS_MACRO_FILE (), __LINE__, \
} \
} while (0) \
LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 212 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_DEBUG_LOG_LEVEL

#define LOG4CPLUS_MACRO_DEBUG_LOG_LEVEL (   pred)    LOG4CPLUS_UNLIKELY (pred)

Definition at line 174 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_ERROR_LOG_LEVEL

#define LOG4CPLUS_MACRO_ERROR_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 180 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_FATAL_LOG_LEVEL

#define LOG4CPLUS_MACRO_FATAL_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 182 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_FILE [1/2]

#define LOG4CPLUS_MACRO_FILE ( )    nullptr

Definition at line 166 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_FILE [2/2]

#define LOG4CPLUS_MACRO_FILE ( )    __FILE__

Definition at line 166 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_FMT_BODY

#define LOG4CPLUS_MACRO_FMT_BODY (   logger,
  logLevel,
  ... 
)
Value:
do { \
log4cplus::Logger const & _l \
_l.isEnabledFor (log4cplus::logLevel), logLevel)) { \
LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf); \
log4cplus::tchar const * _logEvent \
= _snpbuf.print (__VA_ARGS__); \
log4cplus::logLevel, _logEvent, \
LOG4CPLUS_MACRO_FILE (), __LINE__, \
} \
} while(0) \
LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 245 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_FUNCTION

#define LOG4CPLUS_MACRO_FUNCTION ( )    nullptr

Definition at line 145 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_INFO_LOG_LEVEL

#define LOG4CPLUS_MACRO_INFO_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 176 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM

#define LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (   var)

◆ LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF

#define LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (   var)

◆ LOG4CPLUS_MACRO_LOGLEVEL_PRED

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

Dispatch to LOG4CPLUS_MACRO_LOGLEVEL_* depending on log level.

Definition at line 187 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_STR_BODY

#define LOG4CPLUS_MACRO_STR_BODY (   logger,
  logEvent,
  logLevel 
)
Value:
do { \
log4cplus::Logger const & _l \
_l.isEnabledFor (log4cplus::logLevel), logLevel)) { \
log4cplus::logLevel, logEvent, \
LOG4CPLUS_MACRO_FILE (), __LINE__, \
} \
} while(0) \
LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Definition at line 230 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_TRACE_LOG_LEVEL

#define LOG4CPLUS_MACRO_TRACE_LOG_LEVEL (   pred)    LOG4CPLUS_UNLIKELY (pred)

Definition at line 172 of file loggingmacros.h.

◆ LOG4CPLUS_MACRO_WARN_LOG_LEVEL

#define LOG4CPLUS_MACRO_WARN_LOG_LEVEL (   pred)    LOG4CPLUS_LIKELY (pred)

Definition at line 178 of file loggingmacros.h.

◆ LOG4CPLUS_RESTORE_DOWHILE_WARNING

#define LOG4CPLUS_RESTORE_DOWHILE_WARNING ( )    /* empty */

Definition at line 53 of file loggingmacros.h.

◆ LOG4CPLUS_SUPPRESS_DOWHILE_WARNING

#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING ( )    /* empty */

Definition at line 52 of file loggingmacros.h.

◆ LOG4CPLUS_TRACE

#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 274 of file loggingmacros.h.

◆ LOG4CPLUS_TRACE_FMT

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

Definition at line 278 of file loggingmacros.h.

◆ LOG4CPLUS_TRACE_METHOD

#define LOG4CPLUS_TRACE_METHOD (   logger,
  logEvent 
)
Value:
log4cplus::TraceLogger _log4cplus_trace_logger(logger, logEvent, \
LOG4CPLUS_MACRO_FILE (), __LINE__, \

Definition at line 270 of file loggingmacros.h.

◆ LOG4CPLUS_TRACE_STR

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

Definition at line 276 of file loggingmacros.h.

◆ LOG4CPLUS_WARN

#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 335 of file loggingmacros.h.

◆ LOG4CPLUS_WARN_FMT

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

Definition at line 339 of file loggingmacros.h.

◆ LOG4CPLUS_WARN_STR

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

Definition at line 337 of file loggingmacros.h.

log4cplus::detail::macros_get_logger
Logger macros_get_logger(Logger const &logger)
Definition: loggingmacros.h:87
log4cplus::detail::get_macro_body_snprintf_buf
LOG4CPLUS_EXPORT log4cplus::helpers::snprintf_buf & get_macro_body_snprintf_buf()
log4cplus::detail::macro_forced_log
LOG4CPLUS_EXPORT void macro_forced_log(log4cplus::Logger const &, log4cplus::LogLevel, log4cplus::tchar const *, char const *, int, char const *)
LOG4CPLUS_MACRO_FILE
#define LOG4CPLUS_MACRO_FILE()
Definition: loggingmacros.h:165
LOG4CPLUS_UNLIKELY
#define LOG4CPLUS_UNLIKELY(cond)
Definition: config.hxx:141
LOG4CPLUS_MACRO_LOGLEVEL_PRED
#define LOG4CPLUS_MACRO_LOGLEVEL_PRED(pred, logLevel)
Dispatch to LOG4CPLUS_MACRO_LOGLEVEL_* depending on log level.
Definition: loggingmacros.h:186
LOG4CPLUS_TEXT
#define LOG4CPLUS_TEXT(STRING)
Definition: clogger.h:72
LOG4CPLUS_ASSERT_STRINGIFY
#define LOG4CPLUS_ASSERT_STRINGIFY(X)
Helper macro for LOG4CPLUS_ASSERT() macro.
Definition: loggingmacros.h:389
log4cplus::tchar
char tchar
Definition: tchar.h:56
LOG4CPLUS_MACRO_FUNCTION
#define LOG4CPLUS_MACRO_FUNCTION()
Definition: loggingmacros.h:144
log4cplus::detail::get_macro_body_oss
LOG4CPLUS_EXPORT log4cplus::tostringstream & get_macro_body_oss()
LOG4CPLUS_SUPPRESS_DOWHILE_WARNING
#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()
Definition: loggingmacros.h:51
log4cplus::tostringstream
std::basic_ostringstream< tchar > tostringstream
Definition: streams.h:42
log4cplus::TraceLogger
This class is used to produce "Trace" logging.
Definition: tracelogger.h:51
log4cplus::helpers::snprintf_buf
Definition: snprintf.h:43