Android中C++文件logcat打印

Kernel: v4.4.159
Device: rk3328
Platform Version: Android 9.0

查看已定义的log打印函数

已定义的打印函数定义路径
AOSP/system/core/liblog/include/log/log_main.h

下面是它们的包含关系:

AOSP/system/core/libutils/include/utils/Log.h
——->AOSP/system/core/liblog/include/log/log.h
————->AOSP/system/core/liblog/include/log/log_main.h

使用时只需要:#include <utils/Log.h>

常用的log函数(只列出10个):

#define ALOGV(...)
#define ALOGI(...)
#define ALOGD(...)
#define ALOGE(...)
#define ALOGW(...)
//如果cond为true才会打印,多数情况此cond为false,此定义与unlikely(汇编优化有关暂不讨论)
#define ALOGV_IF(cond, ...)
#define ALOGI_IF(cond, ...)
#define ALOGD_IF(cond, ...)
#define ALOGE_IF(cond, ...)
#define ALOGW_IF(cond, ...)

使用已定义的log打印函数

  1. 需要在Android.mk中

    LOCAL_SHARED_LIBRARIES := liblog
  2. 在需要使用的源文件中

    #include <utils/Log.h>
  3. 在需要使用的源文件开头位置

    #define LOG_TAG "Test"
    #define LOG_NDEBUG 1
  4. 如果需要使用ALOGV(…)和ALOGV_IF(cond, …)

    #define LOG_NDEBUG 0//一般不要开

测试已定义的log打印函数

  1. 如果定义了LOG_TAG并且#define LOG_NDEBUG 1

    1

  2. 如果定义LOG_TAG并且#define LOG_NDEBUG 1

    1

  3. 如果定义了LOG_TAG并且#define LOG_NDEBUG 0

    1

转载请注明出处:http://www.wolfnx.com/2018/06/21/AndroidCplusCplusLogcat

作者 : wolfnx
邮箱 : wolfnx@outlook.com
邮箱2 : lostnx@gmail.com

Click Me