23 #ifndef NDN_LOGGING_HPP
24 #define NDN_LOGGING_HPP
26 #include <ndn-cpp/common.hpp>
28 #if NDN_CPP_HAVE_LOG4CXX
30 #include <log4cxx/logger.h>
32 #define MEMBER_LOGGER \
33 static log4cxx::LoggerPtr staticModuleLogger;
35 #define INIT_MEMBER_LOGGER(className,name) \
36 log4cxx::LoggerPtr className::staticModuleLogger = log4cxx::Logger::getLogger (name);
38 #define INIT_LOGGER(name) \
39 static log4cxx::LoggerPtr staticModuleLogger = log4cxx::Logger::getLogger (name);
41 #define _LOG_DEBUG(x) \
42 LOG4CXX_DEBUG(staticModuleLogger, x);
44 #define _LOG_TRACE(x) \
45 LOG4CXX_TRACE(staticModuleLogger, x);
47 #define _LOG_FUNCTION(x) \
48 LOG4CXX_TRACE(staticModuleLogger, __FUNCTION__ << "(" << x << ")");
50 #define _LOG_FUNCTION_NOARGS \
51 LOG4CXX_TRACE(staticModuleLogger, __FUNCTION__ << "()");
53 #define _LOG_ERROR(x) \
54 LOG4CXX_ERROR(staticModuleLogger, x);
56 #define _LOG_ERROR_COND(cond,x) \
57 if (cond) { _LOG_ERROR(x) }
59 #define _LOG_DEBUG_COND(cond,x) \
60 if (cond) { _LOG_DEBUG(x) }
65 #else // else NDN_CPP_HAVE_LOG4CXX
67 #define INIT_LOGGER(name)
68 #define _LOG_FUNCTION(x)
69 #define _LOG_FUNCTION_NOARGS
71 #define INIT_LOGGERS(x)
72 #define _LOG_ERROR_COND(cond,x)
73 #define _LOG_DEBUG_COND(cond,x)
76 #define INIT_MEMBER_LOGGER(className,name)
83 #define _LOG_DEBUG(x) \
84 { time_t now = time(0); std::string s = std::string(ctime(&now)); std::clog << s.substr(0, s.size() - 1) << " " << x << std::endl; }
85 #define _LOG_ERROR(x) _LOG_DEBUG(x)
92 #endif // NDN_CPP_HAVE_LOG4CXX