/* * Copyright (c) Hisilicon Technologies Co., Ltd.. 2012-2019. All rights reserved. * Description: * Author: * Create: */ #ifndef MWLOGTOOL_H #define MWLOGTOOL_H #ifndef LOG_TAG #define LOG_TAG NULL #endif enum ATV_LOG_PRIO_E { ATV_LOG_UNKNOWN = 0, ATV_LOG_DEFAULT, ATV_LOG_VERBOSE, ATV_LOG_DEBUG, ATV_LOG_INFO, ATV_LOG_WARN, ATV_LOG_ERROR, ATV_LOG_FATAL, ATV_LOG_BUTT, }; #ifndef TLOGE #define TLOGE(...) \ tool_printLog(ATV_LOG_ERROR, LOG_TAG, __VA_ARGS__) #endif #ifndef TLOGW #define TLOGW(...) \ tool_printLog(ATV_LOG_WARN, LOG_TAG, __VA_ARGS__) #endif #ifndef TLOGI #define TLOGI(...) \ tool_printLog(ATV_LOG_INFO, LOG_TAG, __VA_ARGS__) #endif #ifndef TLOGD #define TLOGD(...) \ tool_printLog(ATV_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #endif #ifndef TLOGV #define TLOGV(...) \ tool_printLog(ATV_LOG_VERBOSE, LOG_TAG, __VA_ARGS__) #endif #define tool_printLog(prio, tag, fmt...) \ MwLogTool::PrintLog(prio, tag, __FUNCTION__, __LINE__, fmt) namespace android { /* 此类用于客户端client的打印等级开关同步server的等级 */ class MwLogTool { public: static int PrintLog(ATV_LOG_PRIO_E prio, const char *tag, const char *func, unsigned int line, const char *fmt, ...); private: static int getLogLevel(); static int level; }; } #endif