📄 log.cpp
字号:
// Log.cpp: implementation of the CLog class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "DominoMinder.h"
#include "Log.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//初始化日值对象(静态)
CLog CLog::m_oLog = *(new CLog());
CLog::CLog()
{
initFile();
}
CLog::~CLog()
{
closeFile();
}
//设置日志文件名
void CLog::initFile()
{
/*
char sExePath[100];
if(::GetModuleFileName(NULL, sExePath, 99)==0) {
sprintf(m_strLogFilePath, ".\\log.txt\0");
} else {
char* sExeName = strrchr(sExePath,'\\')+1;
char* sExePostFix = strrchr(sExePath,'.');
sprintf(sExePostFix, "\0");
sprintf(m_strLogFilePath, ".\\%s.log\0", sExeName);
}
*/
//日志文件路径
::LoadString(NULL, IDS_APP_NAME, m_strLogFilePath, MAX_PATH);
sprintf( m_strLogFilePath, "%s.log\0", m_strLogFilePath );
m_objptrOfstream = new ofstream(m_strLogFilePath, ios::app, filebuf::sh_read || filebuf::sh_write);
if (m_objptrOfstream->fail() || m_objptrOfstream->bad())
m_objptrOfstream = NULL;
//writeLine("Begin...................................................");
}
void CLog::closeFile()
{
//writeLine("End.....................................................\n");
//write("\n\n");
m_objptrOfstream = NULL;
}
//写日志
void CLog::writeTime()
{
char sTime[30];
time_t t;
time(&t);
tm* tmNow = localtime(&t);
sprintf(sTime, "%04d-%02d-%02d, %02d:%02d:%02d | \0",
tmNow->tm_year+1900, tmNow->tm_mon+1, tmNow->tm_mday,
tmNow->tm_hour, tmNow->tm_min, tmNow->tm_sec);
write(sTime);
}
void CLog::write(const char* szMsg)
{
if (m_objptrOfstream != NULL) {
*m_objptrOfstream << szMsg << flush;
}
}
void CLog::writeLine(const char* szMsg)
{
if (m_objptrOfstream != NULL) {
writeTime();
*m_objptrOfstream << szMsg << endl << flush;
}
}
//静态接口
void CLog::WriteLine(const char* szMsg)
{
m_oLog.writeLine( szMsg );
}
void CLog::WriteLine( const char* szMsg, int nLine, const char* szFileName )
{
char szBuffer[1024]; memset(szBuffer,0,sizeof(szBuffer));
sprintf(szBuffer, "%s, (L%04d) %s\0", szMsg, nLine, szFileName );
m_oLog.writeLine( szBuffer );
}
void CLog::WriteLine( long dw, const char* szMsg )
{
char szBuffer[1024]; memset(szBuffer,0,sizeof(szBuffer));
sprintf(szBuffer, "%d, %s\0", dw, szMsg);
m_oLog.writeLine( szBuffer );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -