Android C++ 添加log

本文介绍如何在Android NDK C++项目中配置并使用LOG宏来记录不同级别的日志信息,包括设置步骤及常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中,C++代码中std::out的输出信息 logcat无法捕获;

添加LOG到项目中;


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

第二步:在要使用LOG的cpp文件中加入:
  

     #include <android/log.h>  //ndk中的头文件

     #define LOG_TAG "MY PROJECT NAME"

     #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__)

根据需要使用不同level的LOGx宏。


由于log的level有多个,想定义一个宏

     #define LOG_DEFINE(LEVEL) __android_log_print(LEVEL,LOG_TAG, ##__VA_ARGS__)

之后日志定义:

     #define LOG_DEFINE(ANDROID_LOG_VERBOSE)

     #define LOG_DEFINE(ANDROID_LOG_DEBUG)

     #define LOG_DEFINE(ANDROID_LOG_INFO)

     #define LOG_DEFINE(ANDROID_LOG_WARN)

     #define LOG_DEFINE(ANDROID_LOG_ERROR)

这样编译不过,提示__VA_ARGS__ undefine,没想通为啥,以后有时间再研究。


    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值