Quick Links: |
Provide macros and utility functions to facilitate logging. More...
Go to the source code of this file.
Classes | |
struct | ball::Log |
class | ball::Log_Stream |
class | ball::Log_Formatter |
Namespaces | |
namespace | ball |
Defines | |
#define | BALL_LOG_CATEGORY (ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)->category()) |
#define | BALL_LOG_THRESHOLD (ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)->threshold()) |
#define | BALL_LOG_RECORD (ball_log_lOg_StReAm.record()) |
#define | BALL_LOG_OUTPUT_STREAM (ball_log_lOg_StReAm.stream()) |
#define | BALL_LOG_SET_CATEGORY(CATEGORY) |
#define | BALL_LOG_SET_CATEGORY_HIERARCHICALLY(CATEGORY) |
#define | BALL_LOG_SET_DYNAMIC_CATEGORY(CATEGORY) |
#define | BALL_LOG_SET_DYNAMIC_CATEGORY_HIERARCHICALLY(CATEGORY) |
#define | BALL_LOG_SET_CLASS_CATEGORY(CATEGORY) |
#define | BALL_LOG_SET_CLASS_CATEGORY_HIERARCHICALLY(CATEGORY) |
#define | BALL_LOG_SET_NAMESPACE_CATEGORY(CATEGORY) |
#define | BALL_LOG_SET_NAMESPACE_CATEGORY_HIERARCHICALLY(CATEGORY) |
#define | BALL_LOG_STREAM_CONST_IMP(SEVERITY) |
#define | BALL_LOG_STREAM_IMP(SEVERITY) |
#define | BALL_LOG_STREAM(SEVERITY) BALL_LOG_STREAM_IMP((SEVERITY)) BALL_LOG_OUTPUT_STREAM |
#define | BALL_LOG_TRACE |
#define | BALL_LOG_DEBUG |
#define | BALL_LOG_INFO |
#define | BALL_LOG_WARN |
#define | BALL_LOG_ERROR |
#define | BALL_LOG_FATAL |
#define | BALL_LOG_STREAM_BLOCK(SEVERITY) BALL_LOG_STREAM_IMP((SEVERITY)) |
#define | BALL_LOG_TRACE_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE) |
#define | BALL_LOG_DEBUG_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG) |
#define | BALL_LOG_INFO_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO) |
#define | BALL_LOG_WARN_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN) |
#define | BALL_LOG_ERROR_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR) |
#define | BALL_LOG_FATAL_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL) |
#define | BALL_LOG_END "" |
#define | BALL_LOGCB_STREAM_CONST_IMP(SEVERITY, CALLBACK) |
#define | BALL_LOGCB_STREAM_IMP(SEVERITY, CALLBACK) |
#define | BALL_LOGCB_STREAM(BALL_SEVERITY, CALLBACK) BALL_LOGCB_STREAM_IMP((BALL_SEVERITY), (CALLBACK)) BALL_LOG_OUTPUT_STREAM |
#define | BALL_LOGCB_TRACE(CALLBACK) |
#define | BALL_LOGCB_DEBUG(CALLBACK) |
#define | BALL_LOGCB_INFO(CALLBACK) |
#define | BALL_LOGCB_WARN(CALLBACK) |
#define | BALL_LOGCB_ERROR(CALLBACK) |
#define | BALL_LOGCB_FATAL(CALLBACK) |
#define | BALL_LOGCB_STREAM_BLOCK(BALL_SEVERITY, CALLBACK) BALL_LOGCB_STREAM_IMP((BALL_SEVERITY), (CALLBACK)) |
#define | BALL_LOGCB_TRACE_BLOCK(CALLBACK) |
#define | BALL_LOGCB_DEBUG_BLOCK(CALLBACK) |
#define | BALL_LOGCB_INFO_BLOCK(CALLBACK) |
#define | BALL_LOGCB_WARN_BLOCK(CALLBACK) |
#define | BALL_LOGCB_ERROR_BLOCK(CALLBACK) |
#define | BALL_LOGCB_FATAL_BLOCK(CALLBACK) |
#define | BALL_LOGCB_END "" |
#define | BALL_LOGVA_CONST_IMP(SEVERITY,...) |
#define | BALL_LOGVA(SEVERITY,...) |
#define | BALL_LOGVA_TRACE(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_TRACE, __VA_ARGS__) |
#define | BALL_LOGVA_DEBUG(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG, __VA_ARGS__) |
#define | BALL_LOGVA_INFO(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_INFO, __VA_ARGS__) |
#define | BALL_LOGVA_WARN(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_WARN, __VA_ARGS__) |
#define | BALL_LOGVA_ERROR(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_ERROR, __VA_ARGS__) |
#define | BALL_LOGVA_FATAL(...) BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_FATAL, __VA_ARGS__) |
#define | BALL_LOG_IS_ENABLED(SEVERITY) |
Functions | |
const BloombergLP::ball::CategoryHolder * | ball::ball_log_getCategoryHolder (const BloombergLP::ball::CategoryHolder &categoryHolder) |
#define BALL_LOG_CATEGORY (ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)->category()) |
#define BALL_LOG_THRESHOLD (ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)->threshold()) |
#define BALL_LOG_RECORD (ball_log_lOg_StReAm.record()) |
#define BALL_LOG_OUTPUT_STREAM (ball_log_lOg_StReAm.stream()) |
#define BALL_LOG_SET_CATEGORY | ( | CATEGORY | ) |
static BloombergLP::ball::CategoryHolder BALL_LOG_CATEGORYHOLDER = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!BALL_LOG_CATEGORY)) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategory(&BALL_LOG_CATEGORYHOLDER, \ CATEGORY); \ }
#define BALL_LOG_SET_CATEGORY_HIERARCHICALLY | ( | CATEGORY | ) |
static BloombergLP::ball::CategoryHolder BALL_LOG_CATEGORYHOLDER = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!BALL_LOG_CATEGORY)) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategoryHierarchically( \ &BALL_LOG_CATEGORYHOLDER, \ CATEGORY); \ }
#define BALL_LOG_SET_DYNAMIC_CATEGORY | ( | CATEGORY | ) |
const BloombergLP::ball::Category *BALL_LOG_DYNAMIC_CATEGORY = \ BloombergLP::ball::Log::setCategory(CATEGORY); \ BloombergLP::ball::CategoryHolder BALL_LOG_CATEGORYHOLDER = { \ { BloombergLP::ball::CategoryHolder::e_DYNAMIC_CATEGORY }, \ { const_cast<BloombergLP::ball::Category *>( \ BALL_LOG_DYNAMIC_CATEGORY) }, \ { 0 } \ };
#define BALL_LOG_SET_DYNAMIC_CATEGORY_HIERARCHICALLY | ( | CATEGORY | ) |
const BloombergLP::ball::Category *BALL_LOG_DYNAMIC_CATEGORY = \ BloombergLP::ball::Log::setCategoryHierarchically(CATEGORY); \ BloombergLP::ball::CategoryHolder BALL_LOG_CATEGORYHOLDER = { \ { BloombergLP::ball::CategoryHolder::e_DYNAMIC_CATEGORY }, \ { const_cast<BloombergLP::ball::Category *>( \ BALL_LOG_DYNAMIC_CATEGORY) }, \ { 0 } \ };
#define BALL_LOG_SET_CLASS_CATEGORY | ( | CATEGORY | ) |
static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder( \ const BloombergLP::ball::CategoryHolder& categoryHolder) \ { \ return &categoryHolder; \ } \ static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder(int) \ { \ static BloombergLP::ball::CategoryHolder holder = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!holder.category())) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategory(&holder, CATEGORY); \ } \ return &holder; \ } \ enum { BALL_LOG_CATEGORYHOLDER = 0 }
#define BALL_LOG_SET_CLASS_CATEGORY_HIERARCHICALLY | ( | CATEGORY | ) |
static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder( \ const BloombergLP::ball::CategoryHolder& categoryHolder) \ { \ return &categoryHolder; \ } \ static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder(int) \ { \ static BloombergLP::ball::CategoryHolder holder = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!holder.category())) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategoryHierarchically(&holder, \ CATEGORY); \ } \ return &holder; \ } \ enum { BALL_LOG_CATEGORYHOLDER = 0 }
#define BALL_LOG_SET_NAMESPACE_CATEGORY | ( | CATEGORY | ) |
namespace { \ static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder(int) \ { \ static BloombergLP::ball::CategoryHolder holder = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!holder.category())) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategory(&holder, CATEGORY); \ } \ return &holder; \ } \ enum { BALL_LOG_CATEGORYHOLDER = 0 }; \ }
#define BALL_LOG_SET_NAMESPACE_CATEGORY_HIERARCHICALLY | ( | CATEGORY | ) |
namespace { \ static \ const BloombergLP::ball::CategoryHolder *ball_log_getCategoryHolder(int) \ { \ static BloombergLP::ball::CategoryHolder holder = { \ { BloombergLP::ball::CategoryHolder::e_UNINITIALIZED_CATEGORY }, \ { 0 }, { 0 } \ }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!holder.category())) { \ BSLS_PERFORMANCEHINT_UNLIKELY_HINT; \ BloombergLP::ball::Log::setCategoryHierarchically(&holder, \ CATEGORY); \ } \ return &holder; \ } \ enum { BALL_LOG_CATEGORYHOLDER = 0 }; \ }
#define BALL_LOG_STREAM_CONST_IMP | ( | SEVERITY | ) |
for (const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ BloombergLP::ball::Log::categoryHolderIfEnabled<(SEVERITY)>( \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)); \ ball_log_cAtEgOrYhOlDeR; \ ) \ for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ ball_log_cAtEgOrYhOlDeR; \ ball_log_cAtEgOrYhOlDeR = 0)
#define BALL_LOG_STREAM_IMP | ( | SEVERITY | ) |
for (const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER); \ ball_log_cAtEgOrYhOlDeR \ && ball_log_cAtEgOrYhOlDeR->threshold() >= (SEVERITY) \ && BloombergLP::ball::Log::isCategoryEnabled(ball_log_cAtEgOrYhOlDeR, \ (SEVERITY)); \ ) \ for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ ball_log_cAtEgOrYhOlDeR; \ ball_log_cAtEgOrYhOlDeR = 0)
#define BALL_LOG_STREAM | ( | SEVERITY | ) | BALL_LOG_STREAM_IMP((SEVERITY)) BALL_LOG_OUTPUT_STREAM |
#define BALL_LOG_TRACE |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_DEBUG |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_INFO |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_WARN |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_ERROR |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_FATAL |
BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOG_STREAM_BLOCK | ( | SEVERITY | ) | BALL_LOG_STREAM_IMP((SEVERITY)) |
#define BALL_LOG_TRACE_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE) |
#define BALL_LOG_DEBUG_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG) |
#define BALL_LOG_INFO_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO) |
#define BALL_LOG_WARN_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN) |
#define BALL_LOG_ERROR_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR) |
#define BALL_LOG_FATAL_BLOCK BALL_LOG_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL) |
#define BALL_LOG_END "" |
#define BALL_LOGCB_STREAM_CONST_IMP | ( | SEVERITY, | ||
CALLBACK | ||||
) |
for (const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ BloombergLP::ball::Log::categoryHolderIfEnabled<(SEVERITY)>( \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)); \ ball_log_cAtEgOrYhOlDeR; \ ) \ for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ ball_log_cAtEgOrYhOlDeR \ && (CALLBACK(&BALL_LOG_RECORD->customFields()), true); \ ball_log_cAtEgOrYhOlDeR = 0)
#define BALL_LOGCB_STREAM_IMP | ( | SEVERITY, | ||
CALLBACK | ||||
) |
for (const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER); \ ball_log_cAtEgOrYhOlDeR \ && ball_log_cAtEgOrYhOlDeR->threshold() >= (SEVERITY) \ && BloombergLP::ball::Log::isCategoryEnabled(ball_log_cAtEgOrYhOlDeR, \ (SEVERITY)); \ ) \ for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ ball_log_cAtEgOrYhOlDeR \ && (CALLBACK(&BALL_LOG_RECORD->customFields()), true); \ ball_log_cAtEgOrYhOlDeR = 0)
#define BALL_LOGCB_STREAM | ( | BALL_SEVERITY, | ||
CALLBACK | ||||
) | BALL_LOGCB_STREAM_IMP((BALL_SEVERITY), (CALLBACK)) BALL_LOG_OUTPUT_STREAM |
#define BALL_LOGCB_TRACE | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_DEBUG | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_INFO | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_WARN | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_ERROR | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_FATAL | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL, \ (CALLBACK)) \ BALL_LOG_OUTPUT_STREAM
#define BALL_LOGCB_STREAM_BLOCK | ( | BALL_SEVERITY, | ||
CALLBACK | ||||
) | BALL_LOGCB_STREAM_IMP((BALL_SEVERITY), (CALLBACK)) |
#define BALL_LOGCB_TRACE_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE, \ (CALLBACK))
#define BALL_LOGCB_DEBUG_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG, \ (CALLBACK))
#define BALL_LOGCB_INFO_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO, \ (CALLBACK))
#define BALL_LOGCB_WARN_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN, \ (CALLBACK))
#define BALL_LOGCB_ERROR_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR, \ (CALLBACK))
#define BALL_LOGCB_FATAL_BLOCK | ( | CALLBACK | ) |
BALL_LOGCB_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL, \ (CALLBACK))
#define BALL_LOGCB_END "" |
#define BALL_LOGVA_CONST_IMP | ( | SEVERITY, | ||
... | ||||
) |
do { \ if (const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ BloombergLP::ball::Log::categoryHolderIfEnabled<(SEVERITY)>( \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER))) { \ BloombergLP::ball::Log_Formatter ball_log_fOrMaTtEr( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ BloombergLP::ball::Log::format(ball_log_fOrMaTtEr.messageBuffer(), \ ball_log_fOrMaTtEr.messageBufferLen(), \ __VA_ARGS__); \ } \ } while(0)
#define BALL_LOGVA | ( | SEVERITY, | ||
... | ||||
) |
do { \ const BloombergLP::ball::CategoryHolder *ball_log_cAtEgOrYhOlDeR = \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER); \ if (ball_log_cAtEgOrYhOlDeR->threshold() >= (SEVERITY) && \ BloombergLP::ball::Log::isCategoryEnabled(ball_log_cAtEgOrYhOlDeR, \ (SEVERITY))) { \ BloombergLP::ball::Log_Formatter ball_log_fOrMaTtEr( \ ball_log_cAtEgOrYhOlDeR->category(), \ __FILE__, \ __LINE__, \ (SEVERITY)); \ BloombergLP::ball::Log::format(ball_log_fOrMaTtEr.messageBuffer(), \ ball_log_fOrMaTtEr.messageBufferLen(), \ __VA_ARGS__); \ } \ } while(0)
#define BALL_LOGVA_TRACE | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_TRACE, __VA_ARGS__) |
#define BALL_LOGVA_DEBUG | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG, __VA_ARGS__) |
#define BALL_LOGVA_INFO | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_INFO, __VA_ARGS__) |
#define BALL_LOGVA_WARN | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_WARN, __VA_ARGS__) |
#define BALL_LOGVA_ERROR | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_ERROR, __VA_ARGS__) |
#define BALL_LOGVA_FATAL | ( | ... | ) | BALL_LOGVA_CONST_IMP(BloombergLP::ball::Severity::e_FATAL, __VA_ARGS__) |
#define BALL_LOG_IS_ENABLED | ( | SEVERITY | ) |
((BALL_LOG_THRESHOLD >= (SEVERITY)) \ && BloombergLP::ball::Log::isCategoryEnabled( \ ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER), \ (SEVERITY)))