[Android] C/C++ logcat

 

第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog

 

第二步:在要使用LOG的cpp文件中加入:
#include  <android/log.h>


#define LOGV(...)    __android_log_print(ANDROID_LOG_VERBOSE, "ProjectName", __VA_ARGS__)
#define LOGD(...)   __android_log_print(ANDROID_LOG_DEBUG , "ProjectName", __VA_ARGS__)
#define LOGI(...)      __android_log_print(ANDROID_LOG_INFO  , "ProjectName", __VA_ARGS__)
#define LOGW(...)   __android_log_print(ANDROID_LOG_WARN  , "ProjectName", __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , "ProjectName", __VA_ARGS__)

比如:

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "jll", __VA_ARGS__)

 

直接调用LOGD("调试信息“),就可以在logcat中看到这条信息

========================================================================================

在实际Android开发调试过程中,我经常使用jll_alog(1, "Debugging");进行跟踪产品问题:

==================================
 Varargs Macros In Android Native
==================================

/*** JLL.S2016mmddxx: Support for Jll Android Logcat ***/
#include <android/log.h>
#include <cutils/properties.h>
#ifdef __cplusplus
extern "C" {
#endif
#define jll_alog(bit, fmt, ...)                                                           \
            do {                                                                          \
                int i4JllAlogPropVal = property_get_int32("persist.jll_alog", 0);         \
                if (i4JllAlogPropVal && (i4JllAlogPropVal & (0x1 << (bit))))              \
                    __android_log_print(ANDROID_LOG_INFO, "JLL", "%s@%d,%s | " fmt,       \
                                        __FUNCTION__, __LINE__, __FILE__, ##__VA_ARGS__); \
            } while (0)
#ifdef __cplusplus
}
#endif
/*** JLL.E2016mmddxx: Support for Jll Android Logcat ***/

 


---------------------------
Android.mk:

### JLL.S2016mmddxx: Support for Jll Android Logcat ###
LOCAL_C_INCLUDES +=/../../../../../system/core/include
LOCAL_SHARED_LIBRARIES += libcutils # Support for property_get_int32(...)
LOCAL_SHARED_LIBRARIES += liblog    # Support for __android_log_print(...)
### JLL.E2016mmddxx: Support for Jll Android Logcat ###

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值