LOGE属于android专门定义的机制Android logger,专门打印除kernel外的所有应用的log输出。
调用NDK 下的log.h 来打印Log日志,具体方法如下:
1. 导入log头文件:在你使用的 .c/ .cpp 文件中,导入 log.h 头文件: #include<android/log.h>
在Android.mk 加上LOCAL_LDLIBS :=-llog
2. 定义LOG 函数:先定义一个全局变量,再定义一些输出的LOG函数:
- #define LOG "ffmpegDemo-jni" // 这个是自定义的LOG的标识
- #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定义LOGD类型
- #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定义LOGI类型
- #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定义LOGW类型
- #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定义LOGE类型
- #define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定义LOGF类型
上述代码中定义的函数,分别对应于Android 的Java代码中的 Log.d(), Log.i(), Log.w(),Log.e(), Log.f()等方法;
3. 使用上述方法:在.c 代码中直接按照一下方式书写:
- LOGD(LOG, "这是Debug的信息");
- LOGE(LOG, "程序错误!!!");
除此之外,更可以给在打印时带上一些变量:
- int width=10;
- int height=20;
- LOGI(LOG, "长和宽分别为 %d ,%d“,width,height);