libmoost
|
00001 /* vim:set ts=3 sw=3 sts=3 et: */ 00028 #ifndef MOOST_CLASS_LOGGER_HPP 00029 #define MOOST_CLASS_LOGGER_HPP 00030 00031 #include <log4cxx/logger.h> 00032 #include "logger.hpp" 00033 #include "../utils/demangler.hpp" 00034 00035 #include <typeinfo> 00036 00043 #define MLOG_CLASS_MANGLED_NAME(thisptr) \ 00044 typeid(*thisptr).name() 00045 00052 #define MLOG_CLASS_DEMANGLED_NAME(thisptr) \ 00053 DEMANGLE_NAME(MLOG_CLASS_MANGLED_NAME(thisptr)) 00054 00061 #define MLOG_CLASS_NAME() \ 00062 MLOG_CLASS_DEMANGLED_NAME(this) 00063 00073 #define MLOG_CLASS_MEMBER_LOGGER_NAME() \ 00074 CLASS_LOGGER_60EB35B012964beaA884558022BC99E2___ 00075 00076 #define MLOG_CLASS_MEMBER_LOGGER() \ 00077 MLOG_CLASS_MEMBER_LOGGER_NAME()() 00078 00079 00095 #define MLOG_DECLARE_NAMED_CLASS_MEMBER_LOGGER(name) \ 00096 virtual log4cxx::LoggerPtr const & name () const \ 00097 { \ 00098 static log4cxx::LoggerPtr ptr = log4cxx::Logger::getLogger(MLOG_CLASS_DEMANGLED_NAME(this)); \ 00099 return ptr; \ 00100 } \ 00101 00102 00113 #define MLOG_DECLARE_CLASS_MEMBER_LOGGER() \ 00114 MLOG_DECLARE_NAMED_CLASS_MEMBER_LOGGER(MLOG_CLASS_MEMBER_LOGGER_NAME()); 00115 00152 #define MLOG_INIT_NAMED_CLASS_MEMBER_LOGGER(name) \ 00153 name ()\ 00154 00155 00164 #define MLOG_INIT_CLASS_MEMBER_LOGGER() \ 00165 MLOG_INIT_NAMED_CLASS_MEMBER_LOGGER(MLOG_CLASS_MEMBER_LOGGER_NAME()) 00166 00173 #define MLOG_CLASS_MEMBER_LOGGER_TRACE(msg) MLOG_TRACE(MLOG_CLASS_MEMBER_LOGGER(), msg) 00174 #define MLOG_CLASS_MEMBER_LOGGER_DEBUG(msg) MLOG_DEBUG(MLOG_CLASS_MEMBER_LOGGER(), msg) 00175 #define MLOG_CLASS_MEMBER_LOGGER_INFO(msg) MLOG_INFO(MLOG_CLASS_MEMBER_LOGGER(), msg) 00176 #define MLOG_CLASS_MEMBER_LOGGER_WARN(msg) MLOG_WARN(MLOG_CLASS_MEMBER_LOGGER(), msg) 00177 #define MLOG_CLASS_MEMBER_LOGGER_ERROR(msg) MLOG_ERROR(MLOG_CLASS_MEMBER_LOGGER(), msg) 00178 #define MLOG_CLASS_MEMBER_LOGGER_FATAL(msg) MLOG_FATAL(MLOG_CLASS_MEMBER_LOGGER(), msg) 00179 00186 #define MLOG_CLASS_MEMBER_LOGGER_TRACE(msg) MLOG_TRACE(MLOG_CLASS_MEMBER_LOGGER(), msg) 00187 #define MLOG_CLASS_MEMBER_LOGGER_DEBUG(msg) MLOG_DEBUG(MLOG_CLASS_MEMBER_LOGGER(), msg) 00188 #define MLOG_CLASS_MEMBER_LOGGER_INFO(msg) MLOG_INFO(MLOG_CLASS_MEMBER_LOGGER(), msg) 00189 #define MLOG_CLASS_MEMBER_LOGGER_WARN(msg) MLOG_WARN(MLOG_CLASS_MEMBER_LOGGER(), msg) 00190 #define MLOG_CLASS_MEMBER_LOGGER_ERROR(msg) MLOG_ERROR(MLOG_CLASS_MEMBER_LOGGER(), msg) 00191 #define MLOG_CLASS_MEMBER_LOGGER_FATAL(msg) MLOG_FATAL(MLOG_CLASS_MEMBER_LOGGER(), msg) 00192 00208 #define MLOG_CLASS_LOGGER() \ 00209 log4cxx::Logger::getLogger( MLOG_CLASS_NAME() ) 00210 00229 #define MLOG_CLASS_DEFINE(logger) \ 00230 log4cxx::LoggerPtr logger = MLOG_CLASS_LOGGER() 00231 00251 #define MLOG_CLASS(level, msg) \ 00252 MLOG(level, MLOG_CLASS_LOGGER(), msg) 00253 00261 #define MLOG_CLASS_TRACE(msg) MLOG_CLASS(MLOG_LEVEL_TRACE, msg) 00262 #define MLOG_CLASS_DEBUG(msg) MLOG_CLASS(MLOG_LEVEL_DEBUG, msg) 00263 #define MLOG_CLASS_INFO(msg) MLOG_CLASS(MLOG_LEVEL_INFO, msg) 00264 #define MLOG_CLASS_WARN(msg) MLOG_CLASS(MLOG_LEVEL_WARN, msg) 00265 #define MLOG_CLASS_ERROR(msg) MLOG_CLASS(MLOG_LEVEL_ERROR, msg) 00266 #define MLOG_CLASS_FATAL(msg) MLOG_CLASS(MLOG_LEVEL_FATAL, msg) 00267 00286 #define MLOG_CLASS_ASSERT(cond, msg) \ 00287 MLOG_ASSERT(cond, MLOG_CLASS_LOGGER(), msg) 00288 00297 #define MLOG_CLASS_MEMBER_LOGGER_ASSERT(cond, msg) \ 00298 MLOG_ASSERT(cond, MLOG_CLASS_MEMBER_LOGGER(), msg) 00299 00321 #define MLOG_CLASS_TEST(level, cond, msg) \ 00322 MLOG_TEST(level, cond, MLOG_CLASS_LOGGER(), msg); 00323 00332 #define MLOG_CLASS_MEMBER_LOGGER_TEST(level, cond, msg) \ 00333 MLOG_TEST(level, cond, MLOG_CLASS_MEMBER_LOGGER(), msg); 00334 00342 #define MLOG_CLASS_TEST_TRACE(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_TRACE, cond, msg) 00343 #define MLOG_CLASS_TEST_DEBUG(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_DEBUG, cond, msg) 00344 #define MLOG_CLASS_TEST_INFO(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_INFO, cond, msg) 00345 #define MLOG_CLASS_TEST_WARN(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_WARN, cond, msg) 00346 #define MLOG_CLASS_TEST_ERROR(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_ERROR, cond, msg) 00347 #define MLOG_CLASS_TEST_FATAL(cond, msg) MLOG_CLASS_TEST(MLOG_LEVEL_FATAL, cond, msg) 00348 00356 #define MLOG_CLASS_MEMBER_LOGGER_TEST_TRACE(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_TRACE, cond, msg) 00357 #define MLOG_CLASS_MEMBER_LOGGER_TEST_DEBUG(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_DEBUG, cond, msg) 00358 #define MLOG_CLASS_MEMBER_LOGGER_TEST_INFO(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_INFO, cond, msg) 00359 #define MLOG_CLASS_MEMBER_LOGGER_TEST_WARN(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_WARN, cond, msg) 00360 #define MLOG_CLASS_MEMBER_LOGGER_TEST_ERROR(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_ERROR, cond, msg) 00361 #define MLOG_CLASS_MEMBER_LOGGER_TEST_FATAL(cond, msg) MLOG_CLASS_MEMBER_LOGGER_TEST(MLOG_LEVEL_FATAL, cond, msg) 00362 00382 #define MLOG_CLASS_CHECK(cond, msg) \ 00383 MLOG_CLASS_TEST_ERROR(cond, msg) 00384 00393 #define MLOG_CLASS_MEMBER_LOGGER_CHECK(cond, msg) \ 00394 MLOG_CLASS_MEMBER_LOGGER_TEST_ERROR(cond, msg) 00395 00415 #define MLOG_CLASS_THROW(cond, msg)\ 00416 MLOG_THROW(cond, MLOG_CLASS_LOGGER(), msg) 00417 00426 #define MLOG_CLASS_MEMBER_LOGGER_THROW(cond, msg)\ 00427 MLOG_THROW(cond, MLOG_CLASS_MEMBER_LOGGER(), msg) 00428 00443 #define MLOG_CLASS_THROW_IF(cond, msg)\ 00444 MLOG_THROW_IF(cond, MLOG_CLASS_LOGGER(), msg) 00445 00452 #define MLOG_CLASS_MEMBER_LOGGER_THROW_IF(cond, msg)\ 00453 MLOG_THROW_IF(cond, MLOG_CLASS_MEMBER_LOGGER(), msg) 00454 00475 #define MLOG_CLASS_VERIFY(cond, msg)\ 00476 MLOG_VERIFY(cond, MLOG_CLASS_LOGGER(), msg) 00477 00486 #define MLOG_CLASS_MEMBER_LOGGER_VERIFY(cond, msg)\ 00487 MLOG_VERIFY(cond, MLOG_CLASS_MEMBER_LOGGER(), msg) 00488 00498 #define MLOG_CLASS_SET_LEVEL(level) \ 00499 MLOG_SET_LEVEL(level, MLOG_CLASS_LOGGER()); 00500 00509 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(level) \ 00510 MLOG_SET_LEVEL(level, MLOG_CLASS_MEMBER_LOGGER()); 00511 00519 #define MLOG_CLASS_SET_LEVEL_ALL() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_ALL) 00520 #define MLOG_CLASS_SET_LEVEL_OFF() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_OFF) 00521 #define MLOG_CLASS_SET_LEVEL_TRACE() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_TRACE) 00522 #define MLOG_CLASS_SET_LEVEL_DEBUG() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_DEBUG) 00523 #define MLOG_CLASS_SET_LEVEL_INFO() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_INFO) 00524 #define MLOG_CLASS_SET_LEVEL_WARN() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_WARN) 00525 #define MLOG_CLASS_SET_LEVEL_ERROR() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_ERROR) 00526 #define MLOG_CLASS_SET_LEVEL_FATAL() MLOG_CLASS_SET_LEVEL(MLOG_GET_LEVEL_FATAL) 00527 00535 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_ALL() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_ALL) 00536 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_OFF() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_OFF) 00537 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_TRACE() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_TRACE) 00538 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_DEBUG() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_DEBUG) 00539 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_INFO() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_INFO) 00540 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_WARN() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_WARN) 00541 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_ERROR() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_ERROR) 00542 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL_FATAL() MLOG_CLASS_MEMBER_LOGGER_SET_LEVEL(MLOG_GET_LEVEL_FATAL) 00543 00553 #define MLOG_CLASS_SET_LEVELSTR(levelstr) \ 00554 MLOG_SET_LEVEL(str2level(levelstr), MLOG_CLASS_LOGGER()); 00555 00564 #define MLOG_CLASS_MEMBER_LOGGER_SET_LEVELSTR(levelstr) \ 00565 MLOG_SET_LEVEL(str2level(levelstr), MLOG_CLASS_MEMBER_LOGGER_LOGGER()); 00566 00567 #endif