青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

從CodeProject那里找到并且剝離出來(lái)的一個(gè)Trace Log類

這個(gè)類還不錯(cuò)的說(shuō),希望看到原文的請(qǐng)到CodeProject去看,原文地址是:
http://www.codeproject.com/debug/logtrace.asp

下面我把源代碼放上來(lái).
////////////////////////////////////////////////////////////////////////
//??LogTrace.cpp?--?Interface?for?the?CLogTrace?class
//??A?class?to?do?debug?logging


#ifndef?__LOGTRACE_H__
#define?__LOGTRACE_H__

class?CLogTrace
{
//?Construction/Destruction
public:
????CLogTrace();
????
~CLogTrace();


//?Attributes
public:
????CString?m_strAppName;

protected:
????BOOL?m_bActive;
????CString?m_strFileName;
????BOOL?m_bTimeStamp;

//?Operations
public:
????
void?WriteLine(LPCTSTR?szLine);
????
void?WriteLine(LPCTSTR?szFormat,?LPCTSTR?szAddInfo);
????
void?WriteLine(LPCTSTR?szFormat,?int?nAddInfo);
????
void?ResetFile();
????
void?OnStartup(BOOL?bActive,?BOOL?bTimeStamp);
????
void?SetFileName(LPCTSTR?szFileName);


protected:



//?Inlines
public:
????inline?
void?SetActive(BOOL?bSet)
????
{
????????m_bActive?
=?bSet;
????}

????inline?CString?GetFileName()
????
{
????????
return?m_strFileName;
????}

}
;


#endif?//?__LOGTRACE_H__

?

?

////////////////////////////////////////////////////////////////////////
//??LogTrace.cpp?--?Implementation?of?the?CLogTrace?class


#include?
"stdafx.h"
#include?
<afxdisp.h>
#include?
"LogTrace.h"

/**************************************************

?How?to?use?CLogTrace

????1.??Make?a?static?CLogTrace?object?as?a?member?of?the?application?class

????2.????Add?the?following?lines?to?the?InitInstance?of?the?program

????
????m_LogTrace.m_strAppName?=?"MyApp";?//?use?appropriate?name?here

????m_LogTrace.SetFileName("Log.txt");?//?sets?the?log?file?name?and?puts?it?in?the?exe?path

????m_LogTrace.OnStartup(TRUE,?TRUE);?//?activates?the?log?trace

????3.??Also?in?InitInstance,?add?the?following?line?if?you?want?to?empty?the?log?file
????each?time?the?application?starts
????
????m_LogTrace.ResetFile();


????4.??Any?time?you?want?to?write?to?the?log?file,?use?the?CLogTrace::WriteLine?functions
????these?will?write?the?text?along?with?date?and?time


******************************************************
*/




//////////////////////////////////////////////////////
//??Construction/Destruction

CLogTrace::CLogTrace()
{
????m_bActive?
=?FALSE;
????m_bTimeStamp?
=?TRUE;

????CString?s;
}



CLogTrace::
~CLogTrace()
{


}


////////////////////////////////////////////////////////
//??CLogTrace?operations


void?CLogTrace::ResetFile()
{
????CStdioFile?f;
????CFileException?fe;
????CString?s;

????
if?(m_strFileName.IsEmpty())?return;

????
if?(f.Open(m_strFileName,?CFile::modeWrite?|?CFile::modeCreate,?&fe)?==?FALSE)
????
{
????????
return;
????}


????f.Close();
}




//?bActive?tells?us?if?we?want?the?trace?to?be?active?or?not
//?bTimeStamp?tells?us?if?we?want?time?stamps?on?each?line
//?eliminating?the?time?stamp?allows?us?to?use?this?class?for?a?regular?log?file
void?CLogTrace::OnStartup(BOOL?bActive,?BOOL?bTimeStamp)
{
????m_bActive?
=?bActive;
????m_bTimeStamp?
=?bTimeStamp;
????
if?(bTimeStamp?==?FALSE)?return;
????CString?s;

????
//?these?***'s?help?to?indicate?when?one?ru?of?the?program?ends?and?another?starts
????
//?because?we?don't?always?overwrite?the?file?each?time

????WriteLine(
"\n\n******************************************\n\n");
????s.Format(
"%s?Log?Trace?%s\n\n",?m_strAppName,?COleDateTime::GetCurrentTime().Format());
????WriteLine(s);
}




//?function?to?write?a?line?of?text?to?the?log?file
void?CLogTrace::WriteLine(LPCTSTR?szLine)
{
????CStdioFile?f;
????CFileException?fe;
????CString?s;

????
if?(m_bActive?==?FALSE)?return;
????
if?(m_strFileName.IsEmpty())?return;

????
if?(f.Open(m_strFileName,?CFile::modeWrite?|?CFile::modeCreate?|
????????CFile::modeNoTruncate,?
&fe)?==?FALSE)
????
{
????????
return;
????}


????
try
????
{
????????f.SeekToEnd();
????????TRACE(
"LOGGIN?%s\n",?szLine);
????????
if?(m_bTimeStamp)
????????
{
????????????s.Format(
"%s\t%s\n",?COleDateTime::GetCurrentTime().Format(),
????????????????szLine);
????????}

????????
else
????????
{
????????????s.Format(
"%s\n",?szLine);
????????}

????????f.WriteString(s);
????}

????
catch?(CException*?e)
????
{
????????e
->Delete();
????}

????f.Close();
}


//?function?to?write?a?line?of?text,?with?an?extra?string
void?CLogTrace::WriteLine(LPCTSTR?szFormat,?LPCTSTR?szAddInfo)
{
????
if?(m_bActive?==?FALSE)?return;
????CString?s;
????s.Format(szFormat,?szAddInfo);
????WriteLine(s);
}



//?funtion?to?write?a?line?of?text?with?an?extra?integer
void?CLogTrace::WriteLine(LPCTSTR?szFormat,?int?nAddInfo)
{
????
if?(m_bActive?==?FALSE)?return;
????CString?s;
????s.Format(szFormat,?nAddInfo);
????WriteLine(s);
}



//?function?to?set?the?log?file?name.??don't?pass?a?fill?path!
//?just?pass?something?like?"log.txt"
//?the?file?will?be?placed?in?the?same?dir?as?the?exe?file
void?CLogTrace::SetFileName(LPCTSTR?szFileName)
{
????TCHAR?drive[_MAX_PATH],?dir[_MAX_PATH],?name[_MAX_PATH],?ext[_MAX_PATH];

????
const?char?*path?=?_pgmptr?;

????_splitpath(path,?drive,?dir,?name,?ext);

????m_strFileName.Format(
"%s%s%s",?drive,?dir,?szFileName);

}

posted on 2006-04-18 10:02 楊粼波 閱讀(2781) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            最新精品在线| 亚洲精品中文字幕在线| 国产一区二区三区无遮挡| 蜜臀av在线播放一区二区三区| 亚洲欧美国产精品va在线观看| 亚洲精品在线二区| 亚洲精品网址在线观看| 亚洲国产精品欧美一二99| 女生裸体视频一区二区三区| 麻豆精品网站| 最新日韩在线视频| 亚洲一区二区在线观看视频| 日韩香蕉视频| 羞羞色国产精品| 国产一区二区三区直播精品电影 | 麻豆av一区二区三区久久| 久久综合色天天久久综合图片| 久久视频免费观看| 亚洲国产精品久久91精品| 99成人精品| 欧美尤物巨大精品爽| 另类专区欧美制服同性| 欧美日韩黄视频| 国产精品亚洲综合天堂夜夜| 狠狠色狠狠色综合日日tαg| 亚洲精品视频在线观看免费| 亚洲精品永久免费| 亚洲精品日韩综合观看成人91| 亚洲欧美色婷婷| 亚洲精品一区二| 亚洲天堂久久| 久久久久久免费| 亚洲精品中文字| 欧美在线观看视频一区二区| 欧美电影在线观看完整版| 国产精品日本一区二区| 又紧又大又爽精品一区二区| 中文日韩电影网站| 欧美ed2k| 欧美在线观看一区二区| 欧美极品欧美精品欧美视频| 老司机久久99久久精品播放免费| 欧美日韩小视频| 欧美777四色影视在线| 精品二区视频| 国产精品国产精品国产专区不蜜| 国产一区二区三区高清在线观看| 99精品黄色片免费大全| 久久精品日产第一区二区| 亚洲欧洲一二三| 欧美在线视频在线播放完整版免费观看 | 亚洲三级电影全部在线观看高清| 午夜精品久久久久久久久久久久| 欧美韩日一区二区| 伊人夜夜躁av伊人久久| 欧美一二三区精品| 中文在线一区| 欧美日韩免费精品| 亚洲欧洲精品一区| 欧美大片91| 久久美女性网| 黄色av日韩| 久久久蜜臀国产一区二区| 亚洲一区二区三| 国产精品人成在线观看免费| 亚洲午夜精品| 国产精品99久久久久久久vr| 欧美色大人视频| 一区二区三区偷拍| 一本大道av伊人久久综合| 欧美日韩国产在线一区| 亚洲视频你懂的| 国产精品99久久久久久有的能看| 欧美三级视频在线| 亚洲欧美电影院| 亚洲午夜久久久久久久久电影网| 国产精品高清免费在线观看| 亚洲女与黑人做爰| 亚洲欧美日韩一区二区在线| 国产午夜精品福利| 美日韩免费视频| 欧美成人亚洲| 亚洲午夜久久久| 一区二区三区高清在线观看| 国产精品久久久久久久第一福利| 午夜精品视频网站| 久久国产精品久久久久久电车 | 欧美国产综合一区二区| 亚洲免费观看视频| 亚洲视频电影图片偷拍一区| 国产欧美日韩一级| 欧美ed2k| 国产精品成人一区二区三区吃奶| 欧美一区成人| 玖玖玖免费嫩草在线影院一区| 亚洲欧洲在线视频| 亚洲无线视频| 亚洲黄色在线| 一区二区三区久久| 国产一区清纯| 亚洲最快最全在线视频| 亚洲精品中文字幕女同| 一本一本久久a久久精品牛牛影视| 欧美午夜在线视频| 久久亚洲美女| 欧美日韩中文字幕综合视频| 欧美影院在线| 欧美黄色网络| 久久久噜噜噜久久| 欧美日韩在线亚洲一区蜜芽| 久久久噜噜噜久噜久久| 欧美jizz19hd性欧美| 欧美日韩综合| 欧美高清日韩| 国产欧美日韩伦理| 亚洲精品乱码久久久久久蜜桃麻豆 | 最新成人在线| 国内外成人免费激情在线视频网站 | 亚洲图片自拍偷拍| 男女视频一区二区| 欧美一区二区视频在线| 欧美电影免费网站| 久久视频精品在线| 国产精品久久久久久久9999| 亚洲国产精品ⅴa在线观看 | 久久久亚洲一区| 欧美色图天堂网| 欧美激情一区二区在线| 欧美成人综合一区| 久热精品视频在线免费观看 | 亚洲韩国日本中文字幕| 性亚洲最疯狂xxxx高清| 亚洲免费在线| 欧美日韩一本到| 亚洲久久在线| 在线亚洲国产精品网站| 欧美激情亚洲另类| 亚洲国产欧美一区二区三区丁香婷| 国产一区二区三区四区hd| 亚洲欧美电影在线观看| 午夜欧美大片免费观看 | 国产精一区二区三区| 亚洲裸体视频| 日韩一级在线观看| 欧美激情一区二区在线| 亚洲黄色三级| 日韩视频免费在线| 欧美日韩精品| 在线一区二区三区四区| 亚洲欧美www| 国产伦精品一区二区三区免费迷| 亚洲一区二区三区精品在线 | 欧美日韩精品久久| 亚洲经典在线| 99综合电影在线视频| 欧美久久久久免费| 一本色道婷婷久久欧美| 亚洲欧美一区二区精品久久久| 国产精品你懂得| 欧美一级片久久久久久久| 久久久久国产精品厨房| 精品动漫一区二区| 欧美高清视频在线播放| 亚洲精品在线观看免费| 亚洲免费在线| 伊大人香蕉综合8在线视| 免费在线国产精品| 9国产精品视频| 久久精品人人做人人爽电影蜜月| 伊人影院久久| 欧美日韩中文字幕精品| 欧美一二三视频| 亚洲丰满在线| 亚洲欧美在线免费观看| 伊人成人在线视频| 欧美日韩亚洲高清一区二区| 亚洲一区3d动漫同人无遮挡| 美女黄网久久| 亚洲视频电影图片偷拍一区| 国产麻豆日韩欧美久久| 久久亚洲影音av资源网| 日韩性生活视频| 久久人人爽人人爽| 亚洲视频综合在线| 尤物精品在线| 国产精品久久午夜夜伦鲁鲁| 久久综合狠狠综合久久综合88| 亚洲国产专区校园欧美| 香港久久久电影| 日韩一级不卡| 亚洲高清资源综合久久精品| 国产人成精品一区二区三| 欧美日韩精品系列| 免费亚洲一区二区| 久久久久成人精品| 欧美一区二区三区免费观看视频| 日韩视频一区| 亚洲福利在线视频| 久久综合影音| 老司机免费视频一区二区三区|