// Log.h
#ifndef LOG_H
#define LOG_H#include
#include <string>
#include
#include
class Log
{
public:Log();~Log();bool Open(string strFileName);void Close();bool CommonLogInit(); //打开默认的log 文件void Enable();void Disable();string GetTimeStr();template
private:ofstream m_tOLogFile;bool m_bEnabled;
};#endif//&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
//Log.cpp
#include "Log.h"Log::Log():m_bEnabled(true)
{
}Log::~Log()
{
}bool Log::Open(string sFileName)
{m_tOLogFile.open(sFileName.c_str(), ios_base::out | ios_base::app);if( !m_tOLogFile ){return false;}return true;
}void Log::Close()
{if(m_tOLogFile.is_open()){m_tOLogFile.close();}
}bool Log::CommonLogInit()
{time_t tNowTime;time(&tNowTime);tm* tLocalTime &#61; localtime(&tNowTime);//得到日期的字符串string sDateStr &#61; ValueToStr(tLocalTime->tm_year&#43;1900) &#43; "-" &#43;ValueToStr(tLocalTime->tm_mon&#43;1) &#43; "-" &#43;ValueToStr(tLocalTime->tm_mday);return Open("Log_" &#43; sDateStr &#43; ".log");
}void Log::Enable()
{m_bEnabled &#61; true;
}void Log::Disable()
{m_bEnabled &#61; false;
}//得到当前时间的字符串
string Log::GetTimeStr()
{time_t tNowTime;time(&tNowTime);tm* tLocalTime &#61; localtime(&tNowTime);//"2011-07-18 23:03:01 ";string strFormat &#61; "%Y-%m-%d %H:%M:%S ";char strDateTime[30] &#61; {&#39;\0&#39;};strftime(strDateTime, 30, strFormat.c_str(), tLocalTime);string strRes &#61; strDateTime;return strRes;
}//本Log类,用于一般简单的Log文本文件输出.//test: main.cpp
#include "Log.h"int main()
{Log mainLog;mainLog.CommonLogInit();mainLog <
}