Android JNI Log 简单封装,用一个变量控制Log是否输出。注意这里涉及可变参数传递,所以要使用__android_log_vprint,不能使用__android_log_print。
//
// Created by Turbo on 2017/12/3.
//
#include <android/log.h>
#ifndef JNI_LOG_H
#define JNI_LOG_H
void LOGI(const char *tag, const char *fmt, ...);
void LOGW(const char *tag, const char *fmt, ...);
void LOGE(const char *tag, const char *fmt, ...);
#endif JNI_LOG_H
//
// Created by Turbo on 2017/12/3.
//
#include "log.h"
#define DEBUG true
void LOGI(const char *tag, const char *fmt, ...) {
if (DEBUG) {
va_list args;
va_start(args, fmt);
__android_log_vprint(ANDROID_LOG_INFO, tag, fmt, args);
va_end(args);
}
}
void LOGW(const char *tag, const char *fmt, ...) {
if (DEBUG) {
va_list args;
va_start(args, fmt);
__android_log_vprint(ANDROID_LOG_WARN, tag, fmt, args);
va_end(args);
}
}
void LOGE(const char *tag, const char *fmt, ...) {
if (DEBUG) {
va_list args;
va_start(args, fmt);
__android_log_vprint(ANDROID_LOG_ERROR, tag, fmt, args);
va_end(args);
}
}
网友评论