cocos2d-x在android下打印调试信息使用的是CCLog函数,此函数在cocos2d-2.0-x-2.0.3/cocos2dx/platform/android/CCCommon.cpp中实现,函数最终调用的是__android_log_print(ANDROID_LOG_DEBUG,"cocos2d-x debug info",buf);函数,buf为打印信息,可以看到__android_log_print传入的第一个参数为ANDROID_LOG_DEBUG,是debug级别,此信息会出现在eclipse中logcat的debug信息中,在实际调试过程中发现debug等级太低了,很多android的虚拟机模块以及其他等信息都会打印debug信息,看起来很乱,调试起来不太方便,基于此,自己写个小函数,将信息以ERROR等级输出(ERROR有点狠,可以使用其他log级别),这样就可以在logcat中进行过滤,只查看ERROR信息,看起来方便多了。 直接贴出cpp: #include "cocos2d.h" #include "CCLogError.h" #include #include #define MAX_LEN (cocos2d::kMaxLogLen + 1) void CCLogError(const char * pszFormat,...) { char buf[MAX_LEN]; va_list args; va_start(args,pszFormat); vsprintf(buf,pszFormat,args); va_end(args); __android_log_print(ANDROID_LOG_ERROR,buf); } 使用方法和CCLog一致。 实际应用中可以独立出一个log模块,指定任意log级别。不知道cocos2d-x是否提供此类功能(我是没找到-_-!),所以才写了这篇极简的博文~~
原文链接:https://www.f2er.com/cocos2dx/342521.html