日志记录,调试, 故障排除

本文介绍如何在Android环境中使用JNI进行日志记录。通过c/c++代码实现不同级别的日志输出,包括简单字符串和格式化字符串的日志记录方法。同时展示了如何使用__android_log_assert进行断言失败记录。
摘要由CSDN通过智能技术生成

Logging

c/c++添加:

#include <android/log.h>

Android.mk添加:

LOCAL_LDLIBS += −llog

log等级:

typedef enum android_LogPriority {
...
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
...
} android_LogPriority;

发送一个简单的字符串log:
参数为日志等级,日志内容,tag标签

__android_log_write(ANDROID_LOG_WARN, "hello-jni", "Warning log.");

发送一个格式化字符串

__android_log_print(ANDROID_LOG_ERROR, "hello-jni","Failed with errno %d", errno);

__android_log_vprint类似__android_log_print,传参

void log_verbose(const char* format, ...)
{
va_list args;
va_start(args, format);
__android_log_vprint(ANDROID_LOG_VERBOSE, "hello-jni", format, args);
va_end(args);
}
...
void example()
{
log_verbose("Errno is now %d", errno);
}

__android_log_assert记录断言失败,不需要类型

if (0 != errno)
{
__android_log_assert("0 != errno", "hello-jni",
"There is an error.");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值