cxxtools.h File Reference
#include <string>
#include <iostream>

Go to the source code of this file.

Classes

class  cxxtools::Logger
class  cxxtools::LogConfiguration
class  cxxtools::LogManager
class  cxxtools::LogMessage
class  cxxtools::LogTracer

Namespaces

namespace  cxxtools

Macros

#define _cxxtools_log_enabled(impl, level)   (getLogger ## impl() != 0 && getLogger ## impl()->isEnabled(::cxxtools::Logger::level))
#define _cxxtools_log(impl, level, displaylevel, expr)
#define _cxxtools_log_if(impl, level, displaylevel, cond, expr)
#define log_fatal_enabled()   _cxxtools_log_enabled(_default, LOG_FATAL)
#define log_error_enabled()   _cxxtools_log_enabled(_default, LOG_ERROR)
#define log_warn_enabled()   _cxxtools_log_enabled(_default, LOG_WARN)
#define log_info_enabled()   _cxxtools_log_enabled(_default, LOG_INFO)
#define log_debug_enabled()   _cxxtools_log_enabled(_default, LOG_DEBUG)
#define log_fine_enabled()   _cxxtools_log_enabled(_default, LOG_FINE)
#define log_finer_enabled()   _cxxtools_log_enabled(_default, LOG_FINER)
#define log_finest_enabled()   _cxxtools_log_enabled(_default, LOG_FINEST)
#define log_trace_enabled()   _cxxtools_log_enabled(_default, LOG_TRACE)
#define log_fatal_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_FATAL)
#define log_error_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_ERROR)
#define log_warn_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_WARN)
#define log_info_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_INFO)
#define log_debug_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_DEBUG)
#define log_fine_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_FINE)
#define log_finer_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_FINER)
#define log_finest_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_FINEST)
#define log_trace_to_enabled(impl)   _cxxtools_log_enabled(impl, LOG_TRACE)
#define log_fatal(expr)   _cxxtools_log(_default, LOG_FATAL, "FATAL", expr)
#define log_error(expr)   _cxxtools_log(_default, LOG_ERROR, "ERROR", expr)
#define log_warn(expr)   _cxxtools_log(_default, LOG_WARN, "WARN", expr)
#define log_info(expr)   _cxxtools_log(_default, LOG_INFO, "INFO", expr)
#define log_debug(expr)   _cxxtools_log(_default, LOG_DEBUG, "DEBUG", expr)
#define log_fine(expr)   _cxxtools_log(_default, LOG_FINE, "FINE", expr)
#define log_finer(expr)   _cxxtools_log(_default, LOG_FINER, "FINER", expr)
#define log_finest(expr)   _cxxtools_log(_default, LOG_FINEST, "FINEST", expr)
#define log_fatal_to(impl, expr)   _cxxtools_log(impl, LOG_FATAL, "FATAL", expr)
#define log_error_to(impl, expr)   _cxxtools_log(impl, LOG_ERROR, "ERROR", expr)
#define log_warn_to(impl, expr)   _cxxtools_log(impl, LOG_WARN, "WARN", expr)
#define log_info_to(impl, expr)   _cxxtools_log(impl, LOG_INFO, "INFO", expr)
#define log_debug_to(impl, expr)   _cxxtools_log(impl, LOG_DEBUG, "DEBUG", expr)
#define log_fine_to(impl, expr)   _cxxtools_log(impl, LOG_FINE, "FINE", expr)
#define log_finer_to(impl, expr)   _cxxtools_log(impl, LOG_FINER, "FINER", expr)
#define log_finest_to(impl, expr)   _cxxtools_log(impl, LOG_FINEST, "FINEST", expr)
#define log_fatal_if(cond, expr)   _cxxtools_log_if(_default, LOG_FATAL, "FATAL", cond, expr)
#define log_error_if(cond, expr)   _cxxtools_log_if(_default, LOG_ERROR, "ERROR", cond, expr)
#define log_warn_if(cond, expr)   _cxxtools_log_if(_default, LOG_WARN, "WARN", cond, expr)
#define log_info_if(cond, expr)   _cxxtools_log_if(_default, LOG_INFO, "INFO", cond, expr)
#define log_debug_if(cond, expr)   _cxxtools_log_if(_default, LOG_DEBUG, "DEBUG", cond, expr)
#define log_fine_if(cond, expr)   _cxxtools_log_if(_default, LOG_FINE, "FINE", cond, expr)
#define log_finer_if(cond, expr)   _cxxtools_log_if(_default, LOG_FINER, "FINER", cond, expr)
#define log_finest_if(cond, expr)   _cxxtools_log_if(_default, LOG_FINEST, "FINEST", cond, expr)
#define log_fatal_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_FATAL, "FATAL", cond, expr)
#define log_error_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_ERROR, "ERROR", cond, expr)
#define log_warn_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_WARN, "WARN", cond, expr)
#define log_info_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_INFO, "INFO", cond, expr)
#define log_debug_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_DEBUG, "DEBUG", cond, expr)
#define log_fine_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_FINE, "FINE", cond, expr)
#define log_finer_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_FINER, "FINER", cond, expr)
#define log_finest_to_if(impl, cond, expr)   _cxxtools_log_if(impl, LOG_FINEST, "FINEST", cond, expr)
#define log_trace_to(impl, expr)
#define log_trace(expr)   log_trace_to(_default, expr)
#define log_define_instance(instance, category)
#define log_define(category)   log_define_instance(_default, category)
#define log_init_cxxtools   ::cxxtools::LogManager::logInit
#define log_init   log_init_cxxtools

Functions

void cxxtools::operator>>= (const SerializationInfo &si, LogConfiguration &logConfiguration)
void cxxtools::operator<<= (SerializationInfo &si, const LogConfiguration &logConfiguration)

Macro Definition Documentation

#define _cxxtools_log (   impl,
  level,
  displaylevel,
  expr 
)
Value:
do { \
::cxxtools::Logger* _cxxtools_logger = getLogger ## impl(); \
if (_cxxtools_logger != 0 && _cxxtools_logger->isEnabled(::cxxtools::Logger::level)) \
{ \
::cxxtools::LogMessage _cxxtools_logMessage(_cxxtools_logger, displaylevel); \
_cxxtools_logMessage.out() << expr; \
_cxxtools_logMessage.finish(); \
} \
} while (false)
#define _cxxtools_log_enabled (   impl,
  level 
)    (getLogger ## impl() != 0 && getLogger ## impl()->isEnabled(::cxxtools::Logger::level))
#define _cxxtools_log_if (   impl,
  level,
  displaylevel,
  cond,
  expr 
)
Value:
do { \
::cxxtools::Logger* _cxxtools_logger = getLogger ## impl(); \
if (_cxxtools_logger != 0 && _cxxtools_logger->isEnabled(::cxxtools::Logger::level) && (cond)) \
{ \
::cxxtools::LogMessage _cxxtools_logMessage(_cxxtools_logger, displaylevel); \
_cxxtools_logMessage.out() << expr; \
_cxxtools_logMessage.finish(); \
} \
} while (false)
#define log_debug (   expr)    _cxxtools_log(_default, LOG_DEBUG, "DEBUG", expr)
#define log_debug_enabled ( )    _cxxtools_log_enabled(_default, LOG_DEBUG)
#define log_debug_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_DEBUG, "DEBUG", cond, expr)
#define log_debug_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_DEBUG, "DEBUG", expr)
#define log_debug_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_DEBUG)
#define log_debug_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_DEBUG, "DEBUG", cond, expr)
#define log_define (   category)    log_define_instance(_default, category)
#define log_define_instance (   instance,
  category 
)
Value:
static ::cxxtools::Logger* getLogger ## instance() \
{ \
static cxxtools::Logger* logger = 0; \
return 0; \
if (logger == 0) \
return logger; \
}
#define log_error (   expr)    _cxxtools_log(_default, LOG_ERROR, "ERROR", expr)
#define log_error_enabled ( )    _cxxtools_log_enabled(_default, LOG_ERROR)
#define log_error_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_ERROR, "ERROR", cond, expr)
#define log_error_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_ERROR, "ERROR", expr)
#define log_error_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_ERROR)
#define log_error_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_ERROR, "ERROR", cond, expr)
#define log_fatal (   expr)    _cxxtools_log(_default, LOG_FATAL, "FATAL", expr)
#define log_fatal_enabled ( )    _cxxtools_log_enabled(_default, LOG_FATAL)
#define log_fatal_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_FATAL, "FATAL", cond, expr)
#define log_fatal_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_FATAL, "FATAL", expr)
#define log_fatal_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_FATAL)
#define log_fatal_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_FATAL, "FATAL", cond, expr)
#define log_fine (   expr)    _cxxtools_log(_default, LOG_FINE, "FINE", expr)
#define log_fine_enabled ( )    _cxxtools_log_enabled(_default, LOG_FINE)
#define log_fine_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_FINE, "FINE", cond, expr)
#define log_fine_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_FINE, "FINE", expr)
#define log_fine_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_FINE)
#define log_fine_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_FINE, "FINE", cond, expr)
#define log_finer (   expr)    _cxxtools_log(_default, LOG_FINER, "FINER", expr)
#define log_finer_enabled ( )    _cxxtools_log_enabled(_default, LOG_FINER)
#define log_finer_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_FINER, "FINER", cond, expr)
#define log_finer_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_FINER, "FINER", expr)
#define log_finer_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_FINER)
#define log_finer_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_FINER, "FINER", cond, expr)
#define log_finest (   expr)    _cxxtools_log(_default, LOG_FINEST, "FINEST", expr)
#define log_finest_enabled ( )    _cxxtools_log_enabled(_default, LOG_FINEST)
#define log_finest_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_FINEST, "FINEST", cond, expr)
#define log_finest_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_FINEST, "FINEST", expr)
#define log_finest_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_FINEST)
#define log_finest_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_FINEST, "FINEST", cond, expr)
#define log_info (   expr)    _cxxtools_log(_default, LOG_INFO, "INFO", expr)
#define log_info_enabled ( )    _cxxtools_log_enabled(_default, LOG_INFO)
#define log_info_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_INFO, "INFO", cond, expr)
#define log_info_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_INFO, "INFO", expr)
#define log_info_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_INFO)
#define log_info_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_INFO, "INFO", cond, expr)
#define log_init   log_init_cxxtools
#define log_init_cxxtools   ::cxxtools::LogManager::logInit
#define log_trace (   expr)    log_trace_to(_default, expr)
#define log_trace_enabled ( )    _cxxtools_log_enabled(_default, LOG_TRACE)
#define log_trace_to (   impl,
  expr 
)
Value:
::cxxtools::LogTracer _cxxtools_tracer; \
do { \
::cxxtools::Logger* _cxxtools_logger = getLogger ## impl(); \
if (_cxxtools_logger != 0 && _cxxtools_logger->isEnabled(::cxxtools::Logger::LOG_TRACE)) \
{ \
_cxxtools_tracer.setLogger(_cxxtools_logger); \
_cxxtools_tracer.out() << expr; \
_cxxtools_tracer.enter(); \
} \
} while (false)
#define log_trace_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_TRACE)
#define log_warn (   expr)    _cxxtools_log(_default, LOG_WARN, "WARN", expr)
#define log_warn_enabled ( )    _cxxtools_log_enabled(_default, LOG_WARN)
#define log_warn_if (   cond,
  expr 
)    _cxxtools_log_if(_default, LOG_WARN, "WARN", cond, expr)
#define log_warn_to (   impl,
  expr 
)    _cxxtools_log(impl, LOG_WARN, "WARN", expr)
#define log_warn_to_enabled (   impl)    _cxxtools_log_enabled(impl, LOG_WARN)
#define log_warn_to_if (   impl,
  cond,
  expr 
)    _cxxtools_log_if(impl, LOG_WARN, "WARN", cond, expr)