首页 > 代码库 > [cocos2dx笔记006]流格式日志
[cocos2dx笔记006]流格式日志
在cocos2dx 2.2.2版本中,cocos使用的是CLOG写入日期,其格式是C的Printf方式生成日志。现在也有很多C++流式日志,类似于cout这样的操作。我看了也有很多,log4cxx,等。但是个人移动有些大。我就在我原来的日志中增加了对流式的支持。并顺利移植到cocos2dx环境中使用。下载是在cocos2dx使用的例子。
cocos2dx的日志端类:
cocos2dx的日志端类:
#ifndef _X_COCOS2D_LOG_END_H_
#define _X_COCOS2D_LOG_END_H_
#include <xlog.h>
#include "platform/CCPlatformMacros.h"
namespace zdh
{
USING_NS_CC;
class XLogEndCocos2d : public XLogEndBase
{
public:
virtual void OutLog(int /*paramLogLevel*/, const XAnsiString & paramLog)
{
CCLOG("%s", paramLog.c_str());
}
};
}
#endif
然后在初始化的时候,就可以增加就可以了。#define _X_COCOS2D_LOG_END_H_
#include <xlog.h>
#include "platform/CCPlatformMacros.h"
namespace zdh
{
USING_NS_CC;
class XLogEndCocos2d : public XLogEndBase
{
public:
virtual void OutLog(int /*paramLogLevel*/, const XAnsiString & paramLog)
{
CCLOG("%s", paramLog.c_str());
}
};
}
#endif
ZDH_LOG_OBJECT->AddLogEnd(new zdh::XLogEndCocos2d());
#if defined(OS_WINDOWS)
zdh::XLogEndFile * pLogEndFile = new zdh::XLogEndFile();
pLogEndFile->Init("erase.log");
ZDH_LOG_OBJECT->AddLogEnd(pLogEndFile);
#endif
STREAM_INFO << "hello cocos2dx";
目前这个是单线程的,如果支持多线程,只要参考XNullLock的定义一个锁类,然后把模板参数由XNullLock换成新的锁类就可以了,通用库查看:我的开放代码
#if defined(OS_WINDOWS)
zdh::XLogEndFile * pLogEndFile = new zdh::XLogEndFile();
pLogEndFile->Init("erase.log");
ZDH_LOG_OBJECT->AddLogEnd(pLogEndFile);
#endif
STREAM_INFO << "hello cocos2dx";
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。