在控制台打log可以按调试等级控制颜色显示,一目了然。如果输出到txt等,就得前缀标识作为tag,如[deug][error][modulename]等。都差不多了,喜欢啥就用啥。
下面转载一段代码,用HTML作为log文件,觉得挺好。一次编写可以反复使用。代码来自于:红孩儿
他的代码是服务于Cocos2D-x的,所以有一点点依赖,用的时候,稍稍做修改就可以了。等代码写牛逼了,再拿出来分享,先学习他人。
#ifndef _HHRLOGWRITER_H
#define _HHRLOGWRITER_H
//==================================================================//
//File: HHRLOGWRITER.h
//Date: 2013-09-05
//Auto: Honghaier - 卞安
//Blog: http://blog.csdn.net/honghaier
//Web: http://www.game2z.com
//Desc: 用于日志的打印
//==================================================================//
#include <stdio.h>
#include <stdlib.h>
#include <string>
class CHHRLogWriter
{
public:
//构造函数
CHHRLogWriter();
//析构函数
~CHHRLogWriter();
public:
//打开文件
void OpenFile(const char* szFileName);
//写日志
void WriteLog(const char* szText);
//写日志
void WriteError(const char* szText);
private:
//日志
FILE* m_pLogFile;
//文件名称
char m_szLogFile[255];
}
;
//日志记录
extern CHHRLogWriter G_LogWriter;
#endif
#include "HHRLogWriter.h"
#include "cocos2d.h"
#include "ccTypes.h"
using namespace std;
using namespace cocos2d;
CHHRLogWriter::CHHRLogWriter()
{
m_pLogFile = NULL;
m_szLogFile[0]='\0';
}
CHHRLogWriter::~CHHRLogWriter()
{
if(m_pLogFile)
{
fprintf(m_pLogFile,"<hr>");
fprintf(m_pLogFile,"</body></html>");
fclose(m_pLogFile);
m_pLogFile = NULL;
}
}
//打开文件
void CHHRLogWriter::OpenFile(const char* szFileName)
{
string tWritePath = CCFileUtils::sharedFileUtils()->getWritablePath();
char szTempFile[1024];
if(tWritePath.back()=='\\' || tWritePath.back()=='//' )
{
sprintf(szTempFile,"%s%s",tWritePath.c_str(),szFileName);
}
else
{
sprintf(szTempFile,"%s\\%s",tWritePath.c_str(),szFileName);
}
m_pLogFile = fopen(szTempFile,"wt");
if(m_pLogFile)
{
strcpy(m_szLogFile,szTempFile);
fprintf(m_pLogFile,"<html><head><title>红孩儿LOG文件</title></head>");
fprintf(m_pLogFile,"<body>");
fprintf(m_pLogFile,"<h1>红孩儿LOG文件输出: <hr>");
}
}
//写日志
void CHHRLogWriter::WriteLog(const char* szText)
{
if(m_pLogFile)
{
fprintf(m_pLogFile,"<font color = 'black' size = '4'>%s</font><br>",szText);
}
}
//写日志
void CHHRLogWriter::WriteError(const char* szText)
{
if(m_pLogFile)
{
fprintf(m_pLogFile,"<b><font color = 'red' size = '4'>%s</font></b><br>",szText);
}
}
//日志记录
CHHRLogWriter G_LogWriter;
over