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, "cocos2d-x debug
info", buf);
}
使用方法和CCLog一致。
实际应用中可以独立出一个log模块,指定任意log级别。不知道cocos2d-x是否提供此类功能(我是没找到-_-!),所以才写了这篇极简的博文~~
直接贴出cpp:
#include "cocos2d.h"
#include "CCLogError.h"
#include
#include
#define MAX_LEN
void CCLogError(const char * pszFormat, ...)
{
}
使用方法和CCLog一致。
实际应用中可以独立出一个log模块,指定任意log级别。不知道cocos2d-x是否提供此类功能(我是没找到-_-!),所以才写了这篇极简的博文~~