微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态调用 WebService (收藏转贴http://www.rainsts.net/article.asp?id=304)

#pragma once #include <stdlib.h> class CLogger { public:     CLogger(void);     CLogger(LPCTSTR lpszFileName,BOOL bAtCurrDir = TRUE,BOOL bLogTime = FALSE,BOOL bAppendMode = FALSE);     virtual ~CLogger(void);     void Write(const char* format,...);     void WriteLine(const char* format,...);     void EnableLogTime(BOOL bEnable); private:     CStdioFile m_logFile;     BOOL m_bLogTime;     void OpenFile(LPCTSTR lpszFileName,BOOL bAppendMode); }; ////////////////////////////////////////////////////////////////////////// CLogger::CLogger(LPCTSTR lpszFileName,                 BOOL bAtCurrDir /*= TRUE*/,                 BOOL bLogTime /*= FALSE*/,                 BOOL bAppendMode /*= FALSE*/): m_bLogTime(bLogTime) {     CString strLog;     if (bAtCurrDir)     {         TCHAR szFullPath[MAX_PATH];         TCHAR szDir[_MAX_DIR];         TCHAR szDrive[_MAX_DRIVE];         // Get application's full path.         ::GetmodulefileName(NULL,szFullPath,MAX_PATH);         // Break full path into seperate components.         _splitpath(szFullPath,szDrive,szDir,NULL,NULL);         // Store application's drive and path         strLog.Format(_T("%s%s//%s"),lpszFileName);     }     else         strLog = lpszFileName;     OpenFile(strLog,bAppendMode); } CLogger::CLogger() {     TCHAR szFileName[MAX_PATH];     ::GetmodulefileName(NULL,szFileName,MAX_PATH);     CString strLog(szFileName);     CTime t = CTime::GetCurrentTime();     strLog.Replace(".exe",t.Format("_%Y_%m_%d") + ".txt");     OpenFile(strLog,TRUE); } void CLogger::OpenFile(LPCTSTR lpszFileName,BOOL bAppendMode) {     int mode =         CStdioFile::modeCreate |         CStdioFile::modeWrite |         CStdioFile::shareDenyWrite;     if (bAppendMode)         mode |= CStdioFile::modeNoTruncate;     m_logFile.Open(lpszFileName,mode);     m_logFile.SeekToEnd(); } CLogger::~CLogger(void) {     m_logFile.Close(); } void CLogger::Write(const char* format,...) {     static TCHAR msg[1024];     va_list argptr;     va_start(argptr,format);     _vsnprintf(msg,sizeof(msg),format,argptr);     va_end(argptr);     if (m_bLogTime)         m_logFile.WriteString(CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%s,").GetBuffer(0));     m_logFile.WriteString(msg);     m_logFile.Flush(); } void CLogger::WriteLine(const char* format,").GetBuffer(0));     m_logFile.WriteString(msg);     m_logFile.WriteString("/n");     m_logFile.Flush(); } void CLogger::EnableLogTime(BOOL bEnable) {     m_bLogTime = bEnable; }  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐