1. 程式人生 > 其它 >easylogging++的那些事(四)原始碼分析(二)日誌記錄巨集(五)檢查巨集

easylogging++的那些事(四)原始碼分析(二)日誌記錄巨集(五)檢查巨集

目錄

在上一篇我們介紹完了 easylogging++的 偶爾日誌巨集,今天我們來看看檢查巨集的實現.

CCHECK 巨集

    CCHECK 巨集定義如下:

#define CCHECK(condition, ...) CLOG_IF(!(condition), FATAL, __VA_ARGS__) << " Check failed: [" << #condition << "] "

    CLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CPCHECK 巨集

    CPCHECK 巨集定義如下:

#define CPCHECK(condition, ...) CPLOG_IF(!(condition), FATAL, __VA_ARGS__) << " Check failed: [" << #condition << "] "

    CPLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CHECK 巨集

    CHECK 巨集定義如下:

#define CHECK(condition) CCHECK(condition, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK 巨集在前面已經仔細介紹過了。

PCHECK 巨集

    PCHECK 巨集定義如下:

#define PCHECK(condition) CPCHECK(condition, ELPP_CURR_FILE_LOGGER_ID)

    CPCHECK 巨集在前面已經仔細介紹過了。

CCHECK_EQ 巨集

    CCHECK_EQ 巨集定義如下:

#define CCHECK_EQ(a, b, ...) CCHECK(a == b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_NE 巨集

    CCHECK_NE 巨集定義如下:

#define CCHECK_NE(a, b, ...) CCHECK(a != b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_LT 巨集

    CCHECK_LT 巨集定義如下:

#define CCHECK_LT(a, b, ...) CCHECK(a < b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_GT 巨集

    CCHECK_GT 巨集定義如下:

#define CCHECK_GT(a, b, ...) CCHECK(a > b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_LE 巨集

    CCHECK_LE 巨集定義如下:

#define CCHECK_LE(a, b, ...) CCHECK(a <= b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_GE 巨集

    CCHECK_GE 巨集定義如下:

#define CCHECK_GE(a, b, ...) CCHECK(a >= b, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_BOUNDS 巨集

    CCHECK_BOUNDS 巨集定義如下:

#define CCHECK_BOUNDS(val, min, max, ...) CCHECK(val >= min && val <= max, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CHECK_EQ 巨集

    CHECK_EQ 巨集定義如下:

#define CHECK_EQ(a, b) CCHECK_EQ(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_EQ 巨集在前面已經仔細介紹過了。

CHECK_NE 巨集

    CHECK_NE 巨集定義如下:

#define CHECK_NE(a, b) CCHECK_NE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_NE 巨集在前面已經仔細介紹過了。

CHECK_LT 巨集

    CHECK_LT 巨集定義如下:

#define CHECK_LT(a, b) CCHECK_LT(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_LT 巨集在前面已經仔細介紹過了。

CHECK_GT 巨集

    CHECK_GT 巨集定義如下:

#define CHECK_GT(a, b) CCHECK_GT(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_GT 巨集在前面已經仔細介紹過了。

CHECK_LE 巨集

    CHECK_LE 巨集定義如下:

#define CHECK_LE(a, b) CCHECK_LE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_LE 巨集在前面已經仔細介紹過了。

CHECK_GE 巨集

    CHECK_GE 巨集定義如下:

#define CHECK_GE(a, b) CCHECK_GE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_GE 巨集在前面已經仔細介紹過了。

CHECK_BOUNDS 巨集

    CHECK_BOUNDS 巨集定義如下:

#define CHECK_BOUNDS(val, min, max) CCHECK_BOUNDS(val, min, max, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_BOUNDS 巨集在前面已經仔細介紹過了。

CCHECK_NOTNULL 巨集

    CCHECK_NOTNULL 巨集定義如下:

#define CCHECK_NOTNULL(ptr, ...) CCHECK((ptr) != nullptr, __VA_ARGS__)

    CCHECK 巨集在前面已經仔細介紹過了。

CCHECK_STREQ 巨集

    CCHECK_STREQ 巨集定義如下:

#define CCHECK_STREQ(str1, str2, ...) CLOG_IF(!el::base::utils::Str::cStringEq(str1, str2), FATAL, __VA_ARGS__) \
                                          << " Check failed: [" << #str1 << " == " << #str2 << "] "

    CLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CCHECK_STRNE 巨集

    CCHECK_STRNE 巨集定義如下:

#define CCHECK_STRNE(str1, str2, ...) CLOG_IF(el::base::utils::Str::cStringEq(str1, str2), FATAL, __VA_ARGS__) \
                                          << " Check failed: [" << #str1 << " != " << #str2 << "] "

    CLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CCHECK_STRCASEEQ 巨集

    CCHECK_STRCASEEQ 巨集定義如下:

#define CCHECK_STRCASEEQ(str1, str2, ...) CLOG_IF(!el::base::utils::Str::cStringCaseEq(str1, str2), FATAL, __VA_ARGS__) \
                                              << " Check failed: [" << #str1 << " == " << #str2 << "] "

    CLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CCHECK_STRCASENE 巨集

    CCHECK_STRCASENE 巨集定義如下:

#define CCHECK_STRCASENE(str1, str2, ...) CLOG_IF(el::base::utils::Str::cStringCaseEq(str1, str2), FATAL, __VA_ARGS__) \
                                              << " Check failed: [" << #str1 << " != " << #str2 << "] "

    CLOG_IF 巨集在前面條件日誌巨集中已經仔細介紹過了。

CHECK_NOTNULL 巨集

    CHECK_NOTNULL 巨集定義如下:

#define CHECK_NOTNULL(ptr) CCHECK_NOTNULL((ptr), ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_NOTNULL 巨集在前面已經仔細介紹過了。

CHECK_STREQ 巨集

    CHECK_STREQ 巨集定義如下:

#define CHECK_STREQ(str1, str2) CCHECK_STREQ(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_STREQ 巨集在前面已經仔細介紹過了。

CHECK_STRNE 巨集

    CHECK_STRNE 巨集定義如下:

#define CHECK_STRNE(str1, str2) CCHECK_STRNE(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_STRNE 巨集在前面已經仔細介紹過了。

CHECK_STRCASEEQ 巨集

    CHECK_STRCASEEQ 巨集定義如下:

#define CHECK_STRCASEEQ(str1, str2) CCHECK_STRCASEEQ(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_STRCASEEQ 巨集在前面已經仔細介紹過了。

CHECK_STRCASENE 巨集

    CHECK_STRCASENE 巨集定義如下:

#define CHECK_STRCASENE(str1, str2) CCHECK_STRCASENE(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    CCHECK_STRCASENE 巨集在前面已經仔細介紹過了。

DCCHECK 巨集

    DCCHECK 巨集定義如下:

#define DCCHECK(condition, ...) if (ELPP_DEBUG_LOG) CCHECK(condition, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK 巨集在前面已經仔細介紹過了。

DCCHECK_EQ 巨集

    DCCHECK_EQ 巨集定義如下:

#define DCCHECK_EQ(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_EQ(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_EQ 巨集在前面已經仔細介紹過了。

DCCHECK_NE 巨集

    DCCHECK_NE 巨集定義如下:

#define DCCHECK_NE(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_NE(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_NE 巨集在前面已經仔細介紹過了。

DCCHECK_LT 巨集

    DCCHECK_LT 巨集定義如下:

#define DCCHECK_LT(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_LT(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_LT 巨集在前面已經仔細介紹過了。

DCCHECK_GT 巨集

    DCCHECK_GT 巨集定義如下:

#define DCCHECK_GT(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_GT(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_GT 巨集在前面已經仔細介紹過了。

DCCHECK_LE 巨集

    DCCHECK_LE 巨集定義如下:

#define DCCHECK_LE(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_LE(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_LE 巨集在前面已經仔細介紹過了。

DCCHECK_GE 巨集

    DCCHECK_GE 巨集定義如下:

#define DCCHECK_GE(a, b, ...) if (ELPP_DEBUG_LOG) CCHECK_GE(a, b, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_GE 巨集在前面已經仔細介紹過了。

DCCHECK_BOUNDS 巨集

    DCCHECK_BOUNDS 巨集定義如下:

#define DCCHECK_BOUNDS(val, min, max, ...) if (ELPP_DEBUG_LOG) CCHECK_BOUNDS(val, min, max, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_BOUNDS 巨集在前面已經仔細介紹過了。

DCCHECK_NOTNULL 巨集

    DCCHECK_NOTNULL 巨集定義如下:

#define DCCHECK_NOTNULL(ptr, ...) if (ELPP_DEBUG_LOG) CCHECK_NOTNULL((ptr), __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_NOTNULL 巨集在前面已經仔細介紹過了。

DCCHECK_STREQ 巨集

    DCCHECK_STREQ 巨集定義如下:

#define DCCHECK_STREQ(str1, str2, ...) if (ELPP_DEBUG_LOG) CCHECK_STREQ(str1, str2, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_STREQ 巨集在前面已經仔細介紹過了。

DCCHECK_STRNE 巨集

    DCCHECK_STRNE 巨集定義如下:

#define DCCHECK_STRNE(str1, str2, ...) if (ELPP_DEBUG_LOG) CCHECK_STRNE(str1, str2, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_STRNE 巨集在前面已經仔細介紹過了。

DCCHECK_STRCASEEQ 巨集

    DCCHECK_STRCASEEQ 巨集定義如下:

#define DCCHECK_STRCASEEQ(str1, str2, ...) if (ELPP_DEBUG_LOG) CCHECK_STRCASEEQ(str1, str2, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_STRCASEEQ 巨集在前面已經仔細介紹過了。

DCCHECK_STRCASENE 巨集

    DCCHECK_STRCASENE 巨集定義如下:

#define DCCHECK_STRCASENE(str1, str2, ...) if (ELPP_DEBUG_LOG) CCHECK_STRCASENE(str1, str2, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CCHECK_STRCASENE 巨集在前面已經仔細介紹過了。

DCPCHECK 巨集

    DCPCHECK 巨集定義如下:

#define DCPCHECK(condition, ...) if (ELPP_DEBUG_LOG) CPCHECK(condition, __VA_ARGS__)

    ELPP_DEBUG_LOG 巨集在CLOG巨集展開已經仔細介紹過了。
    CPCHECK 巨集在前面已經仔細介紹過了。

DCHECK 巨集

    DCHECK 巨集定義如下:

#define DCHECK(condition) DCCHECK(condition, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK 巨集在前面已經仔細介紹過了。

DCHECK_EQ 巨集

    DCHECK_EQ 巨集定義如下:

#define DCHECK_EQ(a, b) DCCHECK_EQ(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_EQ 巨集在前面已經仔細介紹過了。

DCHECK_NE 巨集

    DCHECK_NE 巨集定義如下:

#define DCHECK_NE(a, b) DCCHECK_NE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_NE 巨集在前面已經仔細介紹過了。

DCHECK_LT 巨集

    DCHECK_LT 巨集定義如下:

#define DCHECK_LT(a, b) DCCHECK_LT(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_LT 巨集在前面已經仔細介紹過了。

DCHECK_GT 巨集

    DCHECK_GT 巨集定義如下:

#define DCHECK_GT(a, b) DCCHECK_GT(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_GT 巨集在前面已經仔細介紹過了。

DCHECK_LE 巨集

    DCHECK_LE 巨集定義如下:

#define DCHECK_LE(a, b) DCCHECK_LE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_LE 巨集在前面已經仔細介紹過了。

DCHECK_GE 巨集

    DCHECK_GE 巨集定義如下:

#define DCHECK_GE(a, b) DCCHECK_GE(a, b, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_GE 巨集在前面已經仔細介紹過了。

DCHECK_BOUNDS 巨集

    DCHECK_BOUNDS 巨集定義如下:

#define DCHECK_BOUNDS(val, min, max) DCCHECK_BOUNDS(val, min, max, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_BOUNDS 巨集在前面已經仔細介紹過了。

DCHECK_NOTNULL 巨集

    DCHECK_NOTNULL 巨集定義如下:

#define DCHECK_NOTNULL(ptr) DCCHECK_NOTNULL((ptr), ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_NOTNULL 巨集在前面已經仔細介紹過了。

DCHECK_STREQ 巨集

    DCHECK_STREQ 巨集定義如下:

#define DCHECK_STREQ(str1, str2) DCCHECK_STREQ(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_STREQ 巨集在前面已經仔細介紹過了。

DCHECK_STRNE 巨集

    DCHECK_STRNE 巨集定義如下:

#define DCHECK_STRNE(str1, str2) DCCHECK_STRNE(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_STRNE 巨集在前面已經仔細介紹過了。

DCHECK_STRCASEEQ 巨集

    DCHECK_STRCASEEQ 巨集定義如下:

#define DCHECK_STRCASEEQ(str1, str2) DCCHECK_STRCASEEQ(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_STRCASEEQ 巨集在前面已經仔細介紹過了。

DCHECK_STRCASENE 巨集

    DCHECK_STRCASENE 巨集定義如下:

#define DCHECK_STRCASENE(str1, str2) DCCHECK_STRCASENE(str1, str2, ELPP_CURR_FILE_LOGGER_ID)

    DCCHECK_STRCASENE 巨集在前面已經仔細介紹過了。

DPCHECK 巨集

    DPCHECK 巨集定義如下:

#define DPCHECK(condition) DCPCHECK(condition, ELPP_CURR_FILE_LOGGER_ID)

    DCPCHECK 巨集在前面已經仔細介紹過了。

至此,檢查巨集就介紹完了,下一篇我們開始介紹 VERBOSE 日誌巨集。