如何从android中的本机库函数获取日志输出

时间:2013-11-10 07:03:17

标签: logging android-ndk

我正在开发一个使用NDK的应用程序,我想像在java android应用程序代码中那样从c库中声明和实现的函数中获取日志输出。请帮忙。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,这些是从本机端获取日志输出所需的步骤:

首先,包括必要的日志标题:

#include <android/log.h>

然后,为了易于使用,定义日志函数如下:

#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "some-tag", __VA_ARGS__))
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "some-tag", __VA_ARGS__))
#define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "some-tag", __VA_ARGS__))

最后,每当您想要记录时,请调用您定义的函数,就像在常规C中使用printf一样。

LOGI("someIntValue: %d", someIntValue);
LOGW("someCharValue: %c", someCharValue);
LOGE("someStringValue: %s", someStringValue);

请注意,LOGI用于常规日志消息,LOGW用于警告,LOGE用于错误消息。您还可以查看位于NDK目录中的本机活动示例,我从中了解了如何登录NDK。