安卓底层开发调试中log的使用

最近在调试安卓底层,发现一直想打印ALOGV但都看不见日志输出。原来,系统默认是不打印v级的日志,需要添加代码  
#define LOG_NDEBUG   0  //打开LOGV
#define LOG_NIDEBUG  0  //打开LOGI
#define LOG_NDDEBUG 0 //打开LOGD
可以直接使用以下代码打开所有日志开关: 
#undef NDEBUG       //打开LOGV/LOGI/LOGD
也可以使用LOGD函数打印日志,使用方法为:
  
  
第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog
第二步:在要使用LOG的cpp文件中加入:
#define LOG_TAG "TAG" #include <android/log.h> #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
接下来就可以使用LOGD函数打印日志啦,全部日志函数定义如下:
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__) 
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , LOG_TAG __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO  , LOG_TAG, __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN  , LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , LOG_TAG, __VA_ARGS__)
这里要注意的是,LOG_TAG的定义一定要在#include <android/log.h>这个头文件之前,这是为什么呢?我们打开system/core/include/cutils/log.h头文件可以看到:
#ifndef LOG_TAG
#define LOG_TAG NULL
#endif
所以程序中引入log.h头文件之前要定义LOG_TAG,不然就为空.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值