반응형
#include "stdafx.h"
namespace DEBUGLOG
{
CString LogPath;
}
int WriteLog(LPCTSTR pFormat, ...)
{
TCHAR Buff[1024] = {0,};
va_list arg;
va_start(arg, pFormat);
_vstprintf_s(Buff, _countof(Buff) - 1, pFormat, arg);
va_end(arg);
SYSTEMTIME lpSystemTime;
GetLocalTime(&lpSystemTime);
COleDateTime CurSysTime(lpSystemTime);
CString TimedLog;
TimedLog.Format(_T("[%s] ", CurSysTime.Format(_T("%Y%m%d %H:%M:%S")));
TimedLog.AppendFormat(_T("%s\r\n"), Buff);
CStdioFile StdFile;
StdFile.Open(DEBUGLOG::LogPath, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
StdFile.SeekToEnd();
StdFile.WriteString(TimedLog);
StdFile.Close();
return 0;
}
int CreateLog()
{
SYSTEMTIME lpSystemTime;
GetLocalTime(&lpSystemTime);
COleDateTime CurSysTime(lpSystemTime);
DEBUGLOG::LogPath.Format(_T("%s\\myapp.log"), GetAppPath(), CurSysTime.Format(_T("%Y%m%d")));
CStdioFile StdFile;
StdFile.Open(DEBUGLOG::LogPath, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
StdFile.SeekToEnd();
StdFile.WriteString(CString(_T("Logging Start")));
StdFile.Close();
}
CString GetAppPath()
{
TCHAR szTemp[256] = {0,};
::GetModuleFileName(NULL, szTemp, 256);
CString Path = szTemp;
if (0 < Path.ReverseFind('\\'))
{
Path = Path.Left(Path.ReversFind('\\'));
}
}
namespace DEBUGLOG
{
CString LogPath;
}
int WriteLog(LPCTSTR pFormat, ...)
{
TCHAR Buff[1024] = {0,};
va_list arg;
va_start(arg, pFormat);
_vstprintf_s(Buff, _countof(Buff) - 1, pFormat, arg);
va_end(arg);
SYSTEMTIME lpSystemTime;
GetLocalTime(&lpSystemTime);
COleDateTime CurSysTime(lpSystemTime);
CString TimedLog;
TimedLog.Format(_T("[%s] ", CurSysTime.Format(_T("%Y%m%d %H:%M:%S")));
TimedLog.AppendFormat(_T("%s\r\n"), Buff);
CStdioFile StdFile;
StdFile.Open(DEBUGLOG::LogPath, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
StdFile.SeekToEnd();
StdFile.WriteString(TimedLog);
StdFile.Close();
return 0;
}
int CreateLog()
{
SYSTEMTIME lpSystemTime;
GetLocalTime(&lpSystemTime);
COleDateTime CurSysTime(lpSystemTime);
DEBUGLOG::LogPath.Format(_T("%s\\myapp.log"), GetAppPath(), CurSysTime.Format(_T("%Y%m%d")));
CStdioFile StdFile;
StdFile.Open(DEBUGLOG::LogPath, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
StdFile.SeekToEnd();
StdFile.WriteString(CString(_T("Logging Start")));
StdFile.Close();
}
CString GetAppPath()
{
TCHAR szTemp[256] = {0,};
::GetModuleFileName(NULL, szTemp, 256);
CString Path = szTemp;
if (0 < Path.ReverseFind('\\'))
{
Path = Path.Left(Path.ReversFind('\\'));
}
}
반응형
'IT > C++' 카테고리의 다른 글
[MFC] 특정 사용자 권한으로 공유폴더 만들기 (0) | 2017.02.10 |
---|---|
[MFC] 사용자 계정 생성 (0) | 2017.02.08 |
[MFC] Shared Folder 찾아서 제거하기 (0) | 2017.01.16 |
[MFC] Radio Button 투명 배경 (0) | 2016.11.01 |
[MFC] 시작프로그램에 등록하기 (0) | 2016.10.27 |
[MFC] CProgressCtrl Marquee 속성 설정 (0) | 2016.10.14 |
[MFC] 재부팅 기능 (0) | 2016.10.13 |
Visual Studio 2012 Update 4 이상에서 XP 용 C++ 11 프로그램 구성 (0) | 2016.10.12 |
[MFC] 프로세스를 이미지 이름으로 검색하여 종료를 기다리기 (0) | 2016.10.07 |
제어판 Item 실행 (0) | 2016.09.27 |
댓글