logobject.cpp
来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 72 行
CPP
72 行
// LogObject.cpp: implementation of the CLogObject class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "LogObject.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//CThreadLogFiles
CThreadLogFiles CLogObject::s_logFiles ;
CLogObject::CLogObject(CString strObjName)
{
m_strObjName = strObjName ;
DWORD dThreadID = GetCurrentThreadId();
s_logFiles.BeginAObject(dThreadID);
m_hFileHandle = s_logFiles.GetLogFileHandle(dThreadID);
m_strPreStr = s_logFiles.GetPreString(dThreadID) ;
CString strMess ;
strMess.Format("%s〖开始〗%s %s\r\n",m_strPreStr,m_strObjName,GetTimeStr());
DWORD dWritten ;
//输出日志记录的开始信息
::WriteFile(m_hFileHandle,strMess,strMess.GetLength(),&dWritten,NULL);
}
CLogObject::~CLogObject()
{
CString strMess ;
strMess.Format("%s〖结束〗%s %s\r\n",m_strPreStr,m_strObjName,GetTimeStr());
DWORD dWritten ;
//输出日志记录的结束信息
::WriteFile(m_hFileHandle,strMess,strMess.GetLength(),&dWritten,NULL);
DWORD dThreadID = GetCurrentThreadId();
s_logFiles.EndAObject(dThreadID) ;
}
void CLogObject::WriteMess(CString strMess)
{
CString strTmp ;
strTmp.Format("%s〖输出〗%s %s\r\n",m_strPreStr,strMess,GetTimeStr());
DWORD dWritten ;
//输出一条信息
::WriteFile(m_hFileHandle,strTmp,strTmp.GetLength(),&dWritten,NULL);
}
bool CLogObject::InitLog()
{
if(!s_logFiles.InitLog())
return false ;
return true ;
}
bool CLogObject::ExitLog()
{
if(!s_logFiles.ExitLog())
return false ;
return true ;
}
CString CLogObject::GetTimeStr()
{//时间串,依次是:年-月-日-小时-分-秒
CTime t = CTime::GetCurrentTime() ;
CString strTime = t.Format("%Y-%m-%d-%H-%M-%S");
return strTime ;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?