/* * Copyright (c) 2020-2021 Huawei Device Co., Ltd. * * HDF is dual licensed: you can use it either under the terms of * the GPL, or the BSD license, at your option. * See the LICENSE file in the root of this repository for complete details. */ /** * @addtogroup DriverUtils * @{ * * @brief Defines common macros and interfaces of the driver module. * * This module provides interfaces such as log printing, doubly linked list operations, and work queues. * * @since 1.0 * @version 1.0 */ /** * @file hdf_log.h * * @brief Declares log printing functions of the driver module. * This module provides functions for printing logs at the verbose, debug, information, warning, and error levels. * * To use these functions, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #ifndef HDF_LOG_H #define HDF_LOG_H #ifdef HDF_LOG_TAG #undef HDF_LOG_TAG #endif /* HDF_LOG_TAG */ /** Add quotation mark */ #define LOG_TAG_MARK_EXTEND(HDF_TAG) #HDF_TAG #define LOG_TAG_MARK(HDF_TAG) LOG_TAG_MARK_EXTEND(HDF_TAG) #ifndef LOG_TAG #define LOG_TAG LOG_TAG_MARK(HDF_LOG_TAG) #endif /* LOG_TAG */ #include "hdf_log_adapter.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** * @brief Prints logs at the verbose level. * * To use this function, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #define HDF_LOGV(fmt, args...) HDF_LOGV_WRAPPER(fmt, ##args) /** * @brief Prints logs at the debug level. * * To use this function, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #define HDF_LOGD(fmt, args...) HDF_LOGD_WRAPPER(fmt, ##args) /** * @brief Prints logs at the information level. * * To use this function, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #define HDF_LOGI(fmt, args...) HDF_LOGI_WRAPPER(fmt, ##args) /** * @brief Prints logs at the warning level. * * To use this function, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #define HDF_LOGW(fmt, args...) HDF_LOGW_WRAPPER(fmt, ##args) /** * @brief Prints logs at the error level. * * To use this function, you must define HDF_LOG_TAG, for example, #define HDF_LOG_TAG evt. * * @since 1.0 * @version 1.0 */ #define HDF_LOGE(fmt, args...) HDF_LOGE_WRAPPER(fmt, ##args) #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* HDF_LOG_H */ /** @} */