24 #include <boost/current_function.hpp>
51 return level(name.c_str());
107 const char*
function;
121 #define QPID_LOG_STATEMENT_INIT_CAT(LEVEL, CATEGORY) \
122 { 0, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, (::qpid::log::LEVEL), \
123 (::qpid::log::CATEGORY) }
127 #define QPID_LOG_STATEMENT_INIT(LEVEL) \
128 QPID_LOG_STATEMENT_INIT_CAT ( LEVEL , unspecified )
141 #define QPID_LOG_IF(LEVEL, TEST, MESSAGE) \
143 using ::qpid::log::Statement; \
144 static Statement stmt_= QPID_LOG_STATEMENT_INIT(LEVEL); \
145 static Statement::Initializer init_(stmt_); \
146 if (stmt_.enabled && (TEST)) \
147 stmt_.log(::qpid::Msg() << MESSAGE); \
154 #define QPID_LOG_IF_CAT(LEVEL, CATEGORY, TEST, MESSAGE) \
156 using ::qpid::log::Statement; \
157 static Statement stmt_= QPID_LOG_STATEMENT_INIT_CAT(LEVEL, CATEGORY); \
158 static Statement::Initializer init_(stmt_); \
159 if (stmt_.enabled && (TEST)) \
160 stmt_.log(::qpid::Msg() << MESSAGE); \
173 #define QPID_LOG_TEST(LEVEL, FLAG) \
175 using ::qpid::log::Statement; \
176 static Statement stmt_= QPID_LOG_STATEMENT_INIT(LEVEL); \
177 static Statement::Initializer init_(stmt_); \
178 FLAG = stmt_.enabled; \
191 #define QPID_LOG_TEST_CAT(LEVEL, CATEGORY, FLAG) \
193 using ::qpid::log::Statement; \
194 static Statement stmt_= QPID_LOG_STATEMENT_INIT_CAT(LEVEL, CATEGORY); \
195 static Statement::Initializer init_(stmt_); \
196 FLAG = stmt_.enabled; \
215 #define QPID_LOG(LEVEL, MESSAGE) QPID_LOG_IF(LEVEL, true, MESSAGE);
234 #define QPID_LOG_CAT(LEVEL, CATEGORY, MESSAGE) QPID_LOG_IF_CAT(LEVEL, CATEGORY, true, MESSAGE);
void log(const std::string &message)
Initializer(Statement &s)
static const char * name(Category)
String name of category.
static bool isCategory(const std::string &name)
Test if given name is a Category name.
static const char * name(Level)
String name of level.
Level
Debugging severity levels.
static Level level(const char *name)
Get level from string name.
static Level level(const std::string &name)
Get level from string name.
POD struct representing a logging statement in source code.
static Category category(const std::string &name)
Get category from string name.
Category
Formal message categories https://issues.apache.org/jira/browse/QPID-3902.
static void categorize(Statement &s)
static Category category(const char *name)
Get category from string name name invalid.
#define QPID_COMMON_EXTERN