Android NDK开发如何解决logcat日志打印不全

      Android NDK开发如何解决logcat日志打印不全  

      在Android开发过程中可能会遇到超长日志打印问题,如果日志过长如果一次性Log.d输出就会造成logcat终端只打印一部分,后面的全部打印不出来。具体原因没有查到,应该跟输出的缓存大小有关系。

       在java层就遇到过,然后通过分段输出解决。最近开发NDK so发现__android_log_print也有这个问题。

       在NDK开发时c++处理也和java一样,把日志分段处理,直接贴代码

#ifdef __ANDROID__
#define DEBUGPRINT(tag, msg) __android_log_print(ANDROID_LOG_DEBUG, tag, "%s", msg)
#else
#define DEBUGPRINT(tag, msg) fprintf(stdout, "%s/D %s\n", tag, msg);
#endif

inline void DLONGLOG(const char* tag, const char *msg) {
	const size_t max_len = 60;
	size_t len = strlen(msg);
	if (len < max_len) {
		DEBUGPRINT(tag, msg);
		return;
	}

	DEBUGPRINT(tag, "==============start of long log===========
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值