1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_LOGGING_H_ 6 #define QUICHE_COMMON_PLATFORM_API_QUICHE_LOGGING_H_ 7 8 #include "quiche_platform_impl/quiche_logging_impl.h" 9 10 // Please note following QUICHE_LOG are platform dependent: 11 // INFO severity can be degraded (to VLOG(1) or DVLOG(1)). 12 // Some platforms may not support QUICHE_LOG_FIRST_N or QUICHE_LOG_EVERY_N_SEC, 13 // and they would simply be translated to LOG. 14 15 #define QUICHE_DVLOG(verbose_level) QUICHE_DVLOG_IMPL(verbose_level) 16 #define QUICHE_DVLOG_IF(verbose_level, condition) \ 17 QUICHE_DVLOG_IF_IMPL(verbose_level, condition) 18 #define QUICHE_DLOG(severity) QUICHE_DLOG_IMPL(severity) 19 #define QUICHE_DLOG_IF(severity, condition) \ 20 QUICHE_DLOG_IF_IMPL(severity, condition) 21 #define QUICHE_VLOG(verbose_level) QUICHE_VLOG_IMPL(verbose_level) 22 #define QUICHE_LOG(severity) QUICHE_LOG_IMPL(severity) 23 #define QUICHE_LOG_FIRST_N(severity, n) QUICHE_LOG_FIRST_N_IMPL(severity, n) 24 #define QUICHE_LOG_EVERY_N_SEC(severity, seconds) \ 25 QUICHE_LOG_EVERY_N_SEC_IMPL(severity, seconds) 26 #define QUICHE_LOG_IF(severity, condition) \ 27 QUICHE_LOG_IF_IMPL(severity, condition) 28 29 // This is a noop in release build. 30 #define QUICHE_NOTREACHED() QUICHE_NOTREACHED_IMPL() 31 32 #define QUICHE_PLOG(severity) QUICHE_PLOG_IMPL(severity) 33 34 #define QUICHE_DLOG_INFO_IS_ON() QUICHE_DLOG_INFO_IS_ON_IMPL() 35 #define QUICHE_LOG_INFO_IS_ON() QUICHE_LOG_INFO_IS_ON_IMPL() 36 #define QUICHE_LOG_WARNING_IS_ON() QUICHE_LOG_WARNING_IS_ON_IMPL() 37 #define QUICHE_LOG_ERROR_IS_ON() QUICHE_LOG_ERROR_IS_ON_IMPL() 38 39 #define QUICHE_CHECK(condition) QUICHE_CHECK_IMPL(condition) 40 #define QUICHE_CHECK_OK(condition) QUICHE_CHECK_OK_IMPL(condition) 41 #define QUICHE_CHECK_EQ(val1, val2) QUICHE_CHECK_EQ_IMPL(val1, val2) 42 #define QUICHE_CHECK_NE(val1, val2) QUICHE_CHECK_NE_IMPL(val1, val2) 43 #define QUICHE_CHECK_LE(val1, val2) QUICHE_CHECK_LE_IMPL(val1, val2) 44 #define QUICHE_CHECK_LT(val1, val2) QUICHE_CHECK_LT_IMPL(val1, val2) 45 #define QUICHE_CHECK_GE(val1, val2) QUICHE_CHECK_GE_IMPL(val1, val2) 46 #define QUICHE_CHECK_GT(val1, val2) QUICHE_CHECK_GT_IMPL(val1, val2) 47 48 #define QUICHE_DCHECK(condition) QUICHE_DCHECK_IMPL(condition) 49 #define QUICHE_DCHECK_EQ(val1, val2) QUICHE_DCHECK_EQ_IMPL(val1, val2) 50 #define QUICHE_DCHECK_NE(val1, val2) QUICHE_DCHECK_NE_IMPL(val1, val2) 51 #define QUICHE_DCHECK_LE(val1, val2) QUICHE_DCHECK_LE_IMPL(val1, val2) 52 #define QUICHE_DCHECK_LT(val1, val2) QUICHE_DCHECK_LT_IMPL(val1, val2) 53 #define QUICHE_DCHECK_GE(val1, val2) QUICHE_DCHECK_GE_IMPL(val1, val2) 54 #define QUICHE_DCHECK_GT(val1, val2) QUICHE_DCHECK_GT_IMPL(val1, val2) 55 56 #endif // QUICHE_COMMON_PLATFORM_API_QUICHE_LOGGING_H_ 57