亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? logger.cpp

?? 一個完善高效的的Wince5.0下記錄log的類
?? CPP
字號:
#include "StdAfx.h"
#include "Logger.h"


long CLogger::nLogLevel(0);
long CLogger::nLogPeriod(7);
CRITICAL_SECTION  CLogger::m_crit;

CLogger::CLogger(void)
: m_bOpened(false)
{
	::QueryPerformanceFrequency(&m_nPerfFreq);
	::InitializeCriticalSection(&m_crit);
}

CLogger::~CLogger(void)
{
	Close();
	::DeleteCriticalSection(&m_crit);
}
//! 獲得日志文件
CLogger* CLogger::GetLogFile()
{
	static CLogger LogFile;

	if (LogFile.m_bOpened)
	{
		SYSTEMTIME st;
		GetLocalTime(&st);
		TCHAR szDate[9];
		_stprintf(szDate, _T("%04u%02u%02u"), st.wYear, st.wMonth, st.wDay);

		if(_tcscmp(szDate, LogFile.m_szDate) != 0)
		{
			LogFile.Close();
		}
	}

	if (!LogFile.m_bOpened)
	{
		LogFile.Open();
	}

	return &LogFile;
}
//! 清空日志文件
void CLogger::ClearLogFile(void)
{
	SYSTEMTIME st;
	GetLocalTime(&st);

	st.wHour = 0;
	st.wMilliseconds = 0;
	st.wMinute = 0;
	st.wSecond = 0;

	FILETIME ft;
	SystemTimeToFileTime(&st, &ft);

	ULARGE_INTEGER ui;
	ui.LowPart = ft.dwLowDateTime;
	ui.HighPart = ft.dwHighDateTime;
	ui.QuadPart -= (nLogPeriod-1) * 24 * 60 * 60 * 10000000ui64;
	ft.dwLowDateTime = ui.LowPart;
	ft.dwHighDateTime = ui.HighPart;	//ft是需要保留的最早日志時間


	TCHAR szFilePath[MAX_PATH];
	::GetModuleFileName(NULL, szFilePath, sizeof(szFilePath)/sizeof(TCHAR));
	LPTSTR szLastDot = _tcsrchr(szFilePath, _T('.'));
	_tcscpy(szLastDot,_T("_*_Log.txt"));

	WIN32_FIND_DATA findFileData;
	HANDLE hFind = INVALID_HANDLE_VALUE;

	hFind = FindFirstFile(szFilePath, &findFileData);
	if(hFind != INVALID_HANDLE_VALUE)
	{
		if (CompareFileTime(&findFileData.ftCreationTime, &ft) < 0)
		{
			szLastDot = _tcsrchr(szFilePath, _T('\\'));
			_tcscpy(szLastDot, _T("\\"));
			_tcscat(szFilePath, findFileData.cFileName);

			DeleteFile(szFilePath);
		}
		
		while (FindNextFile(hFind, &findFileData) != 0) 
		{
			if (CompareFileTime(&findFileData.ftCreationTime, &ft) < 0)
			{
				szLastDot = _tcsrchr(szFilePath, _T('\\'));
				_tcscpy(szLastDot, _T("\\"));
				_tcscat(szFilePath, findFileData.cFileName);

				DeleteFile(szFilePath);
			}
		}
		FindClose(hFind);
	}
}
//! 記錄日志 
void CLogger::Write(LPCTSTR strLevel, LPCTSTR strType, LPCTSTR pszFormat,  ...)
{
	if (m_bOpened) 
	{

		TCHAR szBuf[1024];
		va_list args;
		va_start(args, pszFormat);
		int nSize = _vsntprintf(szBuf, sizeof(szBuf)/sizeof(TCHAR), pszFormat, args);
		va_end(args);
	
		if (nSize == -1)
		{
			return;
		}

		TCHAR szTime[33];
		GetTimeStr(szTime, sizeof(szTime)/sizeof(TCHAR));

		::EnterCriticalSection(&m_crit);

		m_file << _T("[") << szTime << _T("]") << _T("[") << strLevel << _T("]");
		
		if(strType)
		{
			m_file << _T("[") << strType << _T("]");
		}
		
		m_file << _T(" ") << szBuf << endl;
		m_file.flush();

		::LeaveCriticalSection(&m_crit);

		_tcscat(szBuf, _T("\r\n"));
		TRACE(szBuf);

	}

}
//! 打開日志
void CLogger::Open()
{
	if (!m_bOpened)
	{
		SYSTEMTIME st;
		GetLocalTime(&st);
		_stprintf(m_szDate, _T("%04u%02u%02u"), st.wYear, st.wMonth, st.wDay);


		TCHAR szFilePath[128];
		::GetModuleFileName(NULL, szFilePath, sizeof(szFilePath)/sizeof(TCHAR));
		LPTSTR szLastDot = _tcsrchr(szFilePath, _T('.'));
		_tcscpy(szLastDot,_T("_"));
		_tcscat(szFilePath, m_szDate);
		_tcscat(szFilePath, _T("_Log.txt"));

		::EnterCriticalSection(&m_crit);

		m_file.open(szFilePath, ios_base::out | ios_base::app, 0);
		if (m_file)
		{
			m_bOpened = true;
		}

		::LeaveCriticalSection(&m_crit);
	}
}
//! 關閉日志
void CLogger::Close()
{
	if (m_bOpened)
	{
		::EnterCriticalSection(&m_crit);

		m_file.close();
		m_bOpened = false;

		::LeaveCriticalSection(&m_crit);

	}
}
//! 轉換TIME格式到STRING格式
void CLogger::GetTimeStr(LPTSTR strTime, size_t length)
{
	SYSTEMTIME st;
	GetLocalTime(&st);

	LARGE_INTEGER counter;
	::QueryPerformanceCounter(&counter);

	_stprintf(strTime, _T("%04u-%02u-%02u %02u:%02u:%02u (%08ums)"), st.wYear, st.wMonth, st.wDay,  st.wHour, st.wMinute, st.wSecond, counter.QuadPart*1000/m_nPerfFreq.QuadPart);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频不卡中文| 国产成人综合亚洲网站| 免费一级片91| 99国产精品一区| 精品国内二区三区| 亚洲高清中文字幕| 91欧美一区二区| 久久久精品欧美丰满| 石原莉奈在线亚洲三区| 91片在线免费观看| 日本一二三四高清不卡| 久久爱另类一区二区小说| 精品视频999| 亚洲另类一区二区| 99热在这里有精品免费| 国产亚洲综合在线| 国产中文字幕精品| 欧美mv和日韩mv的网站| 五月综合激情日本mⅴ| 一本到不卡免费一区二区| 久久精品水蜜桃av综合天堂| 麻豆91在线观看| 777xxx欧美| 图片区日韩欧美亚洲| 日本丶国产丶欧美色综合| 国产精品久久久一本精品| 国产成人免费xxxxxxxx| 久久在线观看免费| 久久激情综合网| 91精品婷婷国产综合久久性色| 亚洲一卡二卡三卡四卡五卡| 色综合久久综合| 亚洲欧美经典视频| 色婷婷av一区| 亚洲综合在线电影| 欧美系列一区二区| 日日夜夜一区二区| 亚洲男人的天堂在线aⅴ视频| 99天天综合性| 亚洲青青青在线视频| 9i在线看片成人免费| 中文字幕日韩一区| 欧美性感一类影片在线播放| 亚洲电影在线播放| 欧美一级免费观看| 精东粉嫩av免费一区二区三区| 日韩精品一区二区三区视频播放| 国产在线看一区| 国产人久久人人人人爽| 国产成人av影院| 17c精品麻豆一区二区免费| 97精品国产97久久久久久久久久久久| 亚洲同性同志一二三专区| 在线亚洲高清视频| 日韩精品亚洲一区二区三区免费| 欧美一区二区三区性视频| 狠狠网亚洲精品| 国产精品美女久久久久aⅴ国产馆| 91美女片黄在线| 亚洲成a天堂v人片| 久久精品人人爽人人爽| 色综合亚洲欧洲| 日韩成人一区二区三区在线观看| 日韩欧美另类在线| 成人三级伦理片| 亚洲123区在线观看| 久久免费国产精品| 在线精品视频一区二区| 日韩高清一级片| 国产精品无遮挡| 51精品秘密在线观看| 国产福利一区在线观看| 亚洲国产三级在线| 国产喂奶挤奶一区二区三区| 色老汉一区二区三区| 久久99九九99精品| 亚洲综合视频在线观看| xnxx国产精品| 欧美三区免费完整视频在线观看| 国产曰批免费观看久久久| 亚洲美女免费视频| 国产校园另类小说区| 欧美日韩国产另类不卡| 不卡免费追剧大全电视剧网站| 丝袜国产日韩另类美女| 最近日韩中文字幕| 久久综合精品国产一区二区三区| 欧洲色大大久久| 国产91精品入口| 寂寞少妇一区二区三区| 亚洲gay无套男同| 亚洲日韩欧美一区二区在线| 欧美mv和日韩mv国产网站| 欧美日韩亚洲丝袜制服| 96av麻豆蜜桃一区二区| 国产大陆a不卡| 九色综合国产一区二区三区| 亚洲成人激情自拍| 亚洲精品国产一区二区三区四区在线| 久久久精品欧美丰满| 日韩欧美一级精品久久| 欧美日韩高清一区二区| 色呦呦一区二区三区| 不卡电影一区二区三区| 国产精品 欧美精品| 日韩国产成人精品| 舔着乳尖日韩一区| 午夜电影一区二区| 亚洲成人免费看| 一区二区成人在线| 亚洲精品亚洲人成人网在线播放| 国产精品五月天| 中文字幕av一区二区三区高 | 国产999精品久久久久久绿帽| 日韩av一区二区三区| 亚洲1区2区3区4区| 日本在线观看不卡视频| 日本中文字幕一区二区有限公司| 日韩中文欧美在线| 蜜桃视频一区二区三区在线观看| 人人狠狠综合久久亚洲| 日韩va欧美va亚洲va久久| 日韩成人精品在线观看| 久久成人麻豆午夜电影| 精品一二三四在线| 国产一区二区三区在线观看免费| 国产在线精品视频| 成人精品视频网站| 色综合久久中文综合久久牛| 在线观看欧美黄色| 在线不卡一区二区| 精品国产一二三| 国产精品亲子伦对白| 亚洲欧美日本在线| 日韩高清在线一区| 国产精品一区二区无线| 成人午夜伦理影院| 欧美亚洲免费在线一区| 欧美电影在线免费观看| 2024国产精品视频| 国产精品人人做人人爽人人添| 国产精品青草久久| 亚洲成人在线网站| 日本欧洲一区二区| 懂色av一区二区三区蜜臀| 在线观看亚洲专区| 精品剧情v国产在线观看在线| 日本一区二区在线不卡| 一区二区三区中文在线| 蜜臀av一级做a爰片久久| 成人在线一区二区三区| 欧美三级资源在线| 久久综合久色欧美综合狠狠| 亚洲日本va午夜在线电影| 亚洲18色成人| zzijzzij亚洲日本少妇熟睡| 欧美日韩一区二区三区不卡| 久久女同精品一区二区| 亚洲一区二区三区四区在线观看| 在线区一区二视频| 欧美videossexotv100| 亚洲欧美一区二区久久| 久久精品国产久精国产| 91色porny| 国产片一区二区| 青青草原综合久久大伊人精品优势| 成人精品亚洲人成在线| 欧美一区二区三区婷婷月色| 国产精品久久久久久久久图文区 | 国产欧美一区二区三区网站| 亚洲综合成人在线| 大胆亚洲人体视频| 欧美一级国产精品| 一区二区三区在线不卡| 国产不卡视频在线播放| 日韩午夜三级在线| 亚洲一区欧美一区| zzijzzij亚洲日本少妇熟睡| 亚洲精品一区二区三区四区高清| 一区二区三区免费看视频| 丰满岳乱妇一区二区三区| 日韩一区二区精品在线观看| 有坂深雪av一区二区精品| 国产成人av网站| 欧美va日韩va| 日本不卡视频在线| 欧美日韩一区二区不卡| 亚洲男同性视频| 99天天综合性| 中文字幕一区二区三区在线播放| 国产精品一色哟哟哟| 日韩欧美资源站| 美腿丝袜亚洲一区| 欧美一区日韩一区| 日精品一区二区三区| 欧美日韩国产免费一区二区| 亚洲激情五月婷婷| 在线观看亚洲成人| 亚洲一级在线观看| 欧美日韩成人在线|