diff options
author | Jeonghoon Park <jh1979.park@samsung.com> | 2018-07-09 20:47:04 +0900 |
---|---|---|
committer | Jeonghoon Park <jh1979.park@samsung.com> | 2018-07-09 20:47:04 +0900 |
commit | d6790d07df384b38d74f795b75fd98d1e3d35c5f (patch) | |
tree | 3a2d49eaaa9f94f6a7ef33ef9454d3aba34f9ac3 /inc | |
parent | 061b8e67e4181ee43be01313419880e2ebb36550 (diff) | |
download | st-things-co2-meter-d6790d07df384b38d74f795b75fd98d1e3d35c5f.tar.gz st-things-co2-meter-d6790d07df384b38d74f795b75fd98d1e3d35c5f.tar.bz2 st-things-co2-meter-d6790d07df384b38d74f795b75fd98d1e3d35c5f.zip |
update log module
Diffstat (limited to 'inc')
-rw-r--r-- | inc/log.h | 87 |
1 files changed, 74 insertions, 13 deletions
@@ -1,12 +1,21 @@ /* - * log.h + * Copyright (c) 2017 Samsung Electronics Co., Ltd. * - * Created on: Jul 6, 2018 - * Author: jpark + * Licensed under the Flora License, Version 1.1 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -#ifndef __LOG_H__ -#define __LOG_H__ +#ifndef __RCC_LOG_H__ +#define __RCC_LOG_H__ #include <dlog.h> @@ -17,18 +26,70 @@ extern "C" { #ifdef LOG_TAG #undef LOG_TAG #endif -#define LOG_TAG "ST-THINGS-APP" +#define LOG_TAG "CO2_APP" + +#define _E(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) +#define _W(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) +#define _I(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) +#define _D(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) + +#define FN_CALL dlog_print(DLOG_DEBUG, LOG_TAG, ">>>>>>>> %s() called\n", __func__) +#define FN_END dlog_print(DLOG_DEBUG, LOG_TAG, "<<<<<<<< %s() ended\n", __func__) + + +#define retvm_if(expr, val, fmt, arg...) do { \ + if (expr) { \ + _E(fmt, ##arg); \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return val; \ + } \ +} while (0) -#define ERR(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) -#define WARN(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) -#define INFO(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) -#define DBG(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args) +#define retv_if(expr, val) do { \ + if (expr) { \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return (val); \ + } \ +} while (0) -#define FN_CALL dlog_print(DLOG_DEBUG, LOG_TAG, ">>>>>>>> called") -#define FN_END dlog_print(DLOG_DEBUG, LOG_TAG, "<<<<<<<< ended") +#define retm_if(expr, fmt, arg...) do { \ + if (expr) { \ + _E(fmt, ##arg); \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return; \ + } \ +} while (0) + +#define ret_if(expr) do { \ + if (expr) { \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return; \ + } \ +} while (0) + +#define goto_if(expr, val) do { \ + if (expr) { \ + _E("(%s) -> goto", #expr); \ + goto val; \ + } \ +} while (0) + +#define break_if(expr) { \ + if (expr) { \ + _E("(%s) -> break", #expr); \ + break; \ + } \ +} + +#define continue_if(expr) { \ + if (expr) { \ + _E("(%s) -> continue", #expr); \ + continue; \ + } \ +} #ifdef __cplusplus } #endif -#endif /* __LOG_H__ */ +#endif /* __RCC_LOG_H__ */ |