Format Specifiers Checking

#ifdef WIN32

#pragma warning (error: 4473)
#pragma warning (error: 4474)
#pragma warning (error: 4475)
#pragma warning (error: 4476)
#pragma warning (error: 4477)
#pragma warning (error: 4478)

//#pragma warning (error: 4774)
#pragma warning (error: 4775)
#pragma warning (error: 4776)
//#pragma warning (error: 4777)
#pragma warning (error: 4778)

/**< https://blogs.msdn.microsoft.com/vcblog/2015/06/22/format-specifiers-checking/ 利用vs2015 Format Specifiers Checking功能检测日志格式化错误 */

#define HMI_LOGE(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGE(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGW(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGW(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGI(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGI(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGD(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGD(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGP(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGP(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGDT(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGD(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGET(module, format, ...)               if(false){printf(format, ##__VA_ARGS__);}ALCLOGE(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)

#define HMI_LOGE_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGE16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGW_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGW16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGI_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGI16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGD_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGD16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGP_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGP16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGDT_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGD16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGET_UNI(module, format, ...)           if(false){wprintf(format, ##__VA_ARGS__);}ALCLOGE16(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)

#else

#define HMI_LOGE(module, format, ...)               ALCLOGE(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGW(module, format, ...)               ALCLOGW(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGI(module, format, ...)               ALCLOGI(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGD(module, format, ...)               ALCLOGD(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGP(module, format, ...)               ALCLOGP(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#if !defined(PLATFORM_PIVI) || defined(GPLAT_APLUS3AUTO)
#define HMI_LOGET(module, format, ...)               ALCLOGE(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGDT(module, format, ...)               ALCLOGD(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#else
#define HMI_LOGDT(module, format, ...)               HSL_ALCLOGT_(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#define HMI_LOGET(module, format, ...)               HSL_ALCLOGT_(GLOG_MODULE_HMI, module, format, ##__VA_ARGS__)
#endif
View Code

相关文章: