Android C++ 添加log

項目中,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,沒想通爲啥,以後有時間再研究。


    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章