我们在做NDK开发的时候要打印相关log,但是系统默认的写法比较繁琐,而且还不能控制输出,所以根据需求封装一个通用得common_log.h
common_log.h
#include <android/log.h>
#define LOG_SWITCH 1
#define LOG_TAG "ITplusNativeLog-->"
#if(LOG_SWITCH == 1)
#define LOGV(format, ...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, format, ##__VA_ARGS__)
#define LOGD(format, ...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, format, ##__VA_ARGS__)
#define LOGI(format, ...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, format, ##__VA_ARGS__)
#define LOGW(format, ...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, format, ##__VA_ARGS__)
#define LOGE(format, ...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, format, ##__VA_ARGS__)
#else
#define LOGV(...) NULL
#define LOGD(...) NULL
#define LOGI(...) NULL
#define LOGW(...) NULL
#define LOGE(...) NULL
#endif
使用得时候直接导入common_log.h即可,在不同得NDK项目中都可以使用,一劳永逸
#include "common_log.h"
#include <common_log.h>
void test_print_log(){
int a
=99;
LOGI("a=%d",a
);
LOGI("test android log");
}