X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fdlog.h;h=65c3f60315c2b9b0278498efbffd91fb23b6fc4a;hb=195dc2579534da0968640d623f07c7a295272c39;hp=9a9f69e48ea457de08b35a3903379be84aadd20d;hpb=0f2940bf2912a05590710be71ebc007f6128d6fb;p=framework%2Fsystem%2Fdlog.git diff --git a/include/dlog.h b/include/dlog.h index 9a9f69e..65c3f60 100755 --- a/include/dlog.h +++ b/include/dlog.h @@ -1,11 +1,13 @@ /* - * Copyright (C) 2005 The Android Open Source Project + * DLOG + * Copyright (c) 2005-2008, The Android Open Source Project + * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. * - * Licensed under the Apache License, Version 2.0 (the "License"); + * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,15 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - -/** +/** * @file dlog.h * @version 0.4 * @brief This file is the header file of interface of dlog. */ - - /** * @addtogroup APPLICATION_FRAMEWORK * @{ @@ -31,12 +29,11 @@ * @{ */ - - #ifndef _DLOG_H_ #define _DLOG_H_ #include +#include #ifdef __cplusplus extern "C" { @@ -62,6 +59,11 @@ extern "C" { #define LOG_TAG NULL #endif +#define LOG_ON() _get_logging_on() + +#ifndef __MODULE__ +#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) +#endif /* * log priority values, in ascending priority order. */ @@ -79,399 +81,364 @@ typedef enum { typedef enum { LOG_ID_MAIN = 0, - LOG_ID_RADIO, - LOG_ID_SYSTEM, - LOG_ID_APPS, - LOG_ID_MAX + LOG_ID_RADIO, + LOG_ID_SYSTEM, + LOG_ID_APPS, + LOG_ID_MAX } log_id_t; -#define CONDITION(cond) (__builtin_expect((cond)!=0, 0)) +#define CONDITION(cond) (__builtin_expect((cond) != 0, 0)) // --------------------------------------------------------------------- - /** * Simplified macro to send a verbose log message using the current LOG_TAG. */ #ifndef LOGV #if LOG_NDEBUG -#define LOGV(...) ((void)0) +#define LOGV(...) (0) #else -#define LOGV(...) ((void)LOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) - +#define LOGV(format, arg...) \ + (LOG_ON() ? (LOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - /** * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef LOGV_IF #if LOG_NDEBUG -#define LOGV_IF(cond, ...) ((void)0) +#define LOGV_IF(cond, format, arg...) (0) #else -#define LOGV_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)LOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define LOGV_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - /** * Simplified macro to send a debug log message using the current LOG_TAG. */ #ifndef LOGD -#define LOGD(...) ((void)LOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) +#define LOGD(format, arg...) \ + (LOG_ON() ? (LOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional debug log message using the current LOG_TAG. + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef LOGD_IF -#define LOGD_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)LOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define LOGD_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif /** * Simplified macro to send an info log message using the current LOG_TAG. */ #ifndef LOGI -#define LOGI(...) ((void)LOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) +#define LOGI(format, arg...) \ + (LOG_ON() ? (LOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional info log message using the current LOG_TAG. + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef LOGI_IF -#define LOGI_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)LOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define LOGI_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif /** * Simplified macro to send a warning log message using the current LOG_TAG. */ #ifndef LOGW -#define LOGW(...) ((void)LOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) +#define LOGW(format, arg...) \ + (LOG_ON() ? (LOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional warning log message using the current LOG_TAG. + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef LOGW_IF -#define LOGW_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)LOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define LOGW_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif /** * Simplified macro to send an error log message using the current LOG_TAG. */ #ifndef LOGE -#define LOGE(...) ((void)LOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) +#define LOGE(format, arg...) \ + (LOG_ON() ? (LOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional error log message using the current LOG_TAG. + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef LOGE_IF -#define LOGE_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)LOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define LOGE_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) +#endif +/** + * Simplified macro to send an error log message using the current LOG_TAG. + */ +#ifndef LOGF +#define LOGF(format, arg...) \ + (LOG_ON() ? (LOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) +#endif +/** + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. + */ +#ifndef LOGF_IF +#define LOGF_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (LOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif // --------------------------------------------------------------------- - /** - * Simplified macro to send a verbose radio log message using the current LOG_TAG. + * Simplified radio macro to send a verbose log message using the current LOG_TAG. */ #ifndef RLOGV #if LOG_NDEBUG -#define RLOGV(...) ((void)0) +#define RLOGV(...) (0) #else -#define RLOGV(...) ((void)RLOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) +#define RLOGV(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - /** - * Simplified macro to send a conditional verbose radio log message using the current LOG_TAG. - */ + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. + */ #ifndef RLOGV_IF #if LOG_NDEBUG -#define RLOGV_IF(cond, ...) ((void)0) +#define RLOGV_IF(cond, format, arg...) (0) #else -#define RLOGV_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)RLOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define RLOGV_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - + /** - * Simplified macro to send a debug radio log message using the current LOG_TAG. + * Simplified radio macro to send a debug log message using the current LOG_TAG. */ #ifndef RLOGD -#define RLOGD(...) ((void)RLOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) +#define RLOGD(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional debug radio log message using the current LOG_TAG. - */ + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. + */ #ifndef RLOGD_IF -#define RLOGD_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)RLOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define RLOGD_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send an info radio log message using the current LOG_TAG. + * Simplified radio macro to send an info log message using the current LOG_TAG. */ #ifndef RLOGI -#define RLOGI(...) ((void)RLOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) +#define RLOGI(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional info radio log message using the current LOG_TAG. + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef RLOGI_IF -#define RLOGI_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)RLOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define RLOGI_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send a warning radio log message using the current LOG_TAG. + * Simplified radio macro to send a warning log message using the current LOG_TAG. */ #ifndef RLOGW -#define RLOGW(...) ((void)RLOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) +#define RLOGW(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional warning radio log message using the current LOG_TAG. + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef RLOGW_IF -#define RLOGW_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)RLOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define RLOGW_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send an error radio log message using the current LOG_TAG. + * Simplified radio macro to send an error log message using the current LOG_TAG. */ #ifndef RLOGE -#define RLOGE(...) ((void)RLOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) +#define RLOGE(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional error radio log message using the current LOG_TAG. - */ + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. + */ #ifndef RLOGE_IF -#define RLOGE_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)RLOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define RLOGE_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) +#endif +/** + * Simplified radio macro to send an error log message using the current LOG_TAG. + */ +#ifndef RLOGF +#define RLOGF(format, arg...) \ + (LOG_ON() ? (RLOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) +#endif +/** + * Simplified radio macro to send a conditional verbose log message using the current LOG_TAG. + */ +#ifndef RLOGF_IF +#define RLOGF_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (RLOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif -// --------------------------------------------------------------------- +// --------------------------------------------------------------------- /** - * Simplified macro to send a verbose system log message using the current LOG_TAG. + * Simplified system macro to send a verbose log message using the current LOG_TAG. */ #ifndef SLOGV #if LOG_NDEBUG -#define SLOGV(...) ((void)0) +#define SLOGV(...) (0) #else -#define SLOGV(...) ((void)SLOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) +#define SLOGV(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - /** - * Simplified macro to send a conditional verbose system log message using the current LOG_TAG. + * Simplified macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef SLOGV_IF #if LOG_NDEBUG -#define SLOGV_IF(cond, ...) ((void)0) +#define SLOGV_IF(cond, format, arg...) (0) #else -#define SLOGV_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SLOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define SLOGV_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_VERBOSE, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif #endif - + /** - * Simplified macro to send a debug system log message using the current LOG_TAG. + * Simplified system macro to send a debug log message using the current LOG_TAG. */ #ifndef SLOGD -#define SLOGD(...) ((void)SLOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) +#define SLOGD(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional debug system log message using the current LOG_TAG. + * Simplified system macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef SLOGD_IF -#define SLOGD_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SLOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define SLOGD_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_DEBUG, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send an info system log message using the current LOG_TAG. + * Simplified system macro to send an info log message using the current LOG_TAG. */ #ifndef SLOGI -#define SLOGI(...) ((void)SLOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) +#define SLOGI(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional info system log message using the current LOG_TAG. + * Simplified system macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef SLOGI_IF -#define SLOGI_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SLOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define SLOGI_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_INFO, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send a warning system log message using the current LOG_TAG. + * Simplified system macro to send a warning log message using the current LOG_TAG. */ #ifndef SLOGW -#define SLOGW(...) ((void)SLOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) +#define SLOGW(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional warning system log message using the current LOG_TAG. + * Simplified system macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef SLOGW_IF -#define SLOGW_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SLOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define SLOGW_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_WARN, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - + /** - * Simplified macro to send an error system log message using the current LOG_TAG. + * Simplified system macro to send an error log message using the current LOG_TAG. */ #ifndef SLOGE -#define SLOGE(...) ((void)SLOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) +#define SLOGE(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - /** - * Simplified macro to send a conditional error system log message using the current LOG_TAG. + * Simplified system macro to send a conditional verbose log message using the current LOG_TAG. */ #ifndef SLOGE_IF -#define SLOGE_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SLOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define SLOGE_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_ERROR, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif - -// --------------------------------------------------------------------- - /** - * Simplified macro to send a verbose log message using the current LOG_TAG. + * Simplified system macro to send an error log message using the current LOG_TAG. */ -#ifndef ALOGV -#if LOG_NDEBUG -#define ALOGV(...) ((void)0) -#else -#define ALOGV(...) ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) - +#ifndef SLOGF +#define SLOGF(format, arg...) \ + (LOG_ON() ? (SLOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif +/** + * Simplified system macro to send a conditional verbose log message using the current LOG_TAG. + */ +#ifndef SLOGF_IF +#define SLOGF_IF(cond, format, arg...) \ + (((CONDITION(cond)) && (LOG_ON())) ? \ + (SLOG(LOG_FATAL, LOG_TAG, "%s:%s(%d)>" format, __MODULE__, __func__, __LINE__, ##arg)) : (0)) #endif +// --------------------------------------------------------------------- + /** - * Simplified macro to send a conditional verbose log message using the current LOG_TAG. + * Simplified macro to send a verbose log message using the current LOG_TAG. */ -#ifndef ALOGV_IF +#ifndef ALOGV #if LOG_NDEBUG -#define ALOGV_IF(cond, ...) ((void)0) +#define ALOGV(...) (0) #else -#define ALOGV_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define ALOGV(...) (ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) #endif #endif - /** * Simplified macro to send a debug log message using the current LOG_TAG. */ #ifndef ALOGD -#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) +#define ALOGD(...) (ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) #endif - -/** - * Simplified macro to send a conditional debug log message using the current LOG_TAG. - */ -#ifndef ALOGD_IF -#define ALOGD_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) -#endif - /** * Simplified macro to send an info log message using the current LOG_TAG. */ #ifndef ALOGI -#define ALOGI(...) ((void)ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) -#endif - -/** - * Simplified macro to send a conditional info log message using the current LOG_TAG. - */ -#ifndef ALOGI_IF -#define ALOGI_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define ALOGI(...) (ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) #endif - /** * Simplified macro to send a warning log message using the current LOG_TAG. */ #ifndef ALOGW -#define ALOGW(...) ((void)ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) -#endif - -/** - * Simplified macro to send a conditional warning log message using the current LOG_TAG. - */ -#ifndef ALOGW_IF -#define ALOGW_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define ALOGW(...) (ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) #endif - /** * Simplified macro to send an error log message using the current LOG_TAG. */ #ifndef ALOGE -#define ALOGE(...) ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) -#endif - -/** - * Simplified macro to send a conditional error log message using the current LOG_TAG. - */ -#ifndef ALOGE_IF -#define ALOGE_IF(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) +#define ALOGE(...) (ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) #endif -// TODO : support fatal log // --------------------------------------------------------------------- - /** * Basic log message macro that allows you to specify a priority and a tag * @@ -514,7 +481,6 @@ typedef enum { #define RLOG(priority, tag, ...) \ print_radio_log(D##priority, tag, __VA_ARGS__) #endif - /** * Radio log macro that allows you to pass in a varargs ("args" is a va_list). */ @@ -557,7 +523,7 @@ typedef enum { #define vprint_log(prio, tag, fmt...) \ __dlog_vprint(LOG_ID_MAIN, prio, tag, fmt) - + #define print_radio_log(prio, tag, fmt...)\ __dlog_print(LOG_ID_RADIO, prio, tag, fmt) @@ -574,7 +540,7 @@ typedef enum { * @brief send log. must specify log_id ,priority, tag and format string. * @pre none * @post none - * @see __dlog_vprint + * @see __dlog_print * @remarks you must not use this API directly. use macros instead. * @param[in] log_id log device id * @param[in] prio priority @@ -597,13 +563,13 @@ int __dlog_print(log_id_t log_id, int prio, const char *tag, const char *fmt, .. * @brief send log with va_list. must specify log_id ,priority, tag and format string. * @pre none * @post none - * @see __dlog_print - * @remarks you must not use this API directly. use macros instead. + * @see __dlog_print + * @remarks you must not use this API directly. use macros instead. * @param[in] log_id log device id * @param[in] prio priority * @param[in] tag tag - * @param[in] fmt format string - * @param[in] ap va_list + * @param[in] fmt format string + * @param[in] ap va_list * @return Operation result * @retval 0>= Success * @retval -1 Error @@ -616,6 +582,7 @@ int __dlog_print(log_id_t log_id, int prio, const char *tag, const char *fmt, .. * @endcode */ int __dlog_vprint(log_id_t log_id, int prio, const char *tag, const char *fmt, va_list ap); +int _get_logging_on(void); #ifdef __cplusplus }