📄 logfile.cpp
字号:
// LogFile.cpp: implementation of the CLogFile class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "regioncomm.h"
#include "LogFile.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
TCHAR * CLogFile::szLogFile = _T("RegionCom.LOG");
CLogFile::CLogFile()
{
m_hFile = INVALID_HANDLE_VALUE;
}
CLogFile::~CLogFile()
{
}
BOOL CLogFile::CreateLogFile()
{
TCHAR szPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, szPath);
if (szPath[strlen(szPath)-1] != '\\')
_tcscat(szPath, "\\");
_tcscat(szPath, szLogFile);
m_hFile = CreateFile(szPath, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, (HANDLE)NULL);
if (m_hFile == INVALID_HANDLE_VALUE) {
m_hFile = CreateFile(szPath, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_ARCHIVE, (HANDLE)NULL);
if (m_hFile == INVALID_HANDLE_VALUE) {
MessageBox(NULL, _T("无法打开或创建日志记录文件!"), _T("错误"), MB_OK | MB_ICONSTOP);
return FALSE;
}
} else
SetFilePointer(m_hFile, 0, NULL, FILE_END);
return TRUE;
}
void CLogFile::AddLogData(CString pStr)
{
DWORD dwWritten;
if (m_hFile == INVALID_HANDLE_VALUE) return;
CTime t = CTime::GetCurrentTime();
CString str = t.Format("%Y.%m.%d %H:%M:%S ")+pStr+CString("\r\n");
if (!WriteFile(m_hFile, (LPVOID)((LPCTSTR)str), str.GetLength(), &dwWritten, NULL))
{
CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
}
else
FlushFileBuffers(m_hFile);
}
void CLogFile::CloseLogFile()
{
if (m_hFile != INVALID_HANDLE_VALUE)
CloseHandle(m_hFile);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -