메뉴 건너뛰기

OBG

Programming

API/MFC
2013.08.30 19:45

로그 클래스 및 업데이터

MoA
조회 수 952 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

http://www.codeproject.com/Articles/9566/Updater

 

업데이터 프로그램인데 다른 라이브러리들도 쓸만하다.

코드 정리도 깔끔하다.

 

이 중 Log 클래스 사용법은 아래를 참고한다.

 

CLog *pLog;
pLog = CLog::Instace();

//로그 파일의 위치
pLog->CreateLog(_T("C:log.log"), true);
pLog->Log(_T("로그 할 내용"));

//로그 종료
if(pLog)
{
 pLog->CloseLog();
}

 

예)

 

CString appPath,strLog; 
TCHAR szPath[_MAX_PATH];

//실행파일 위치를 알아 온다.

GetModuleFileName (AfxGetInstanceHandle (), szPath, _MAX_PATH);
appPath = szPath;
int nPos = appPath.ReverseFind ('\');
 
if (nPos > 0)
{
       appPath = appPath.Left (nPos + 1);
}
appPath = appPath + "LOG";
 
//LOG라는 폴더 생성
CreateDirectory(appPath, NULL);

strLog.Format("%0.2d%0.2d%0.2d.log",
  today.GetYear(), today.GetMonth(), today.GetDay());
 
appPath = appPath+ "\" + strLog;

m_pLog = CLog::Instance();

//현재 날짜의 로그 파일 생성
m_pLog->CreateLog(appPath, true);

CString strMsg;

//기록
strMsg.Format( "%d/%d/%d   %d:%d:%d - server openrn", 
    today.GetYear(), today.GetMonth(), today.GetDay(), 
    today.GetHour(), today.GetMinute(), today.GetSecond());
m_pLog->Log("==============================================================rn");
m_pLog->Log(strMsg);
m_pLog->Log("==============================================================rn");

 

http://blog.naver.com/PostView.nhn?blogId=htech79&logNo=12005779072

http://blog.naver.com/PostView.nhn?blogId=bolgan&logNo=130096992199

 

추가

 

일정 날짜 기준 로그파일 제거

http://prettymonkey02.tistory.com/1271


CString GetFolderPath(CString path)
{
if(path.Right(1) == _T("\"))
{
return path;
}
else
{
CString strFolderPath;
strFolderPath = path.Left(path.ReverseFind(_T('\'))+1);
return strFolderPath;
}
}

void DeleteLogfiles()
{
// 로그파일형태 20131202.log
// 30일 기준 로그파일 삭제
CTime CurTime = CTime::GetCurrentTime();
CTime Day30Time;
Day30Time = CurTime - CTimeSpan(30, 0, 0, 0); // 일, 시, 분, 초
CString path, file_path, file_name;
path.Format(_T("%s*.*"), _T("로그디렉토리경로\"));
CFileFind finder;
BOOL bRes;
bRes = finder.FindFile(path);
while(bRes)
{
bRes = finder.FindNextFile();
if(!finder.IsDirectory())  // 폴더가 아니고 파일일 경우
{
// 삭제 상태 변수 초기화
bool bDelete = false;
// 현재 정보가 파일인 경우, file_data.cFileName에 파일이름이 들어있다.
file_name = finder.GetFileName();
file_path = GetFolderPath(path) + file_name;
CString strLogDate;
strLogDate = file_name.Left(8);
// 문자 길이가 맞고 숫자로만 구성되었는지 확인
if(strLogDate.GetLength() == 8 && IsStringDigit(strLogDate))
{
int nLogYear = _ttoi(strLogDate.Left(4));
int nLogMonth = _ttoi(strLogDate.Mid(4,2));
int nLogDay = _ttoi(strLogDate.Right(2));
CTime LogTime(nLogYear, nLogMonth, nLogDay, 0, 0, 0, 0);
if(LogTime < Day30Time)
bDelete = true;
}
else
{
// Exception
bDelete = true;
}
if(bDelete)
{
// 30일이 지난 로그파일은 삭제
DeleteFile(file_path);
}
}
}
}



?

  1. Programming 게시판 관련

    Date2014.11.01 CategoryTool/etc ByMoA Views1714
    read more
  2. 다이얼로그 resize 시 child control의 그래픽 깨짐 해결

    Date2013.07.25 CategoryAPI/MFC ByMoA Views1053
    Read More
  3. 다이얼로그 기반에서 메뉴 내용이 갱신 안되는 문제 해결

    Date2014.02.13 CategoryAPI/MFC ByMoA Views955
    Read More
  4. MFC Feature Pack: An Introduction

    Date2012.02.08 CategoryAPI/MFC By너울 Views953
    Read More
  5. 로그 클래스 및 업데이터

    Date2013.08.30 CategoryAPI/MFC ByMoA Views952
    Read More
  6. WTL 정리

    Date2013.12.22 CategoryAPI/MFC ByMoA Views947
    Read More
  7. MSCOMM32.OCX 등록

    Date2011.10.17 CategoryAPI/MFC By너울 Views898
    Read More
  8. Windows 10 앱 개발(UWP)

    Date2015.10.13 CategoryAPI/MFC ByMoA Views850
    Read More
  9. Serial Communication in MFC

    Date2011.08.25 CategoryAPI/MFC By너울 Views846
    Read More
  10. UpdateDialogControls

    Date2013.09.05 CategoryAPI/MFC ByMoA Views803
    Read More
  11. CDockablePane 배경화면 회색으로 변경

    Date2013.07.11 CategoryAPI/MFC ByMoA Views749
    Read More
  12. 비베의 MSCOMM.OCX VC++에서 불러쓰기

    Date2013.07.28 CategoryAPI/MFC ByMoA Views748
    Read More
  13. MFC, CHM파일 연동 (context help)

    Date2012.04.16 CategoryAPI/MFC By너울 Views737
    Read More
  14. 메시지 펌프

    Date2011.08.26 CategoryAPI/MFC By너울 Views731
    Read More
  15. stdafx.h 사용 (미리 컴파일된 헤더)

    Date2012.08.13 CategoryAPI/MFC ByNaya Views721
    Read More
  16. 모달리스 대화상자

    Date2012.08.02 CategoryAPI/MFC ByNaya Views703
    Read More
  17. MFC에서 생성,사용되는 파일 확장자

    Date2013.08.30 CategoryAPI/MFC ByMoA Views668
    Read More
  18. Deploying a Visual C++ Application (배포 방법)

    Date2012.08.02 CategoryAPI/MFC ByNaya Views634
    Read More
  19. 슬라이더 컨트롤에 툴팁 삽입 (동적 툴팁)

    Date2013.10.28 CategoryAPI/MFC ByMoA Views629
    Read More
  20. VC++6.0 에서 VC++ 2005로 변환할 경우 형변환 경고 대응방법

    Date2013.07.28 CategoryAPI/MFC ByMoA Views626
    Read More
  21. 스레드(CreateThread), EVENT 동기화

    Date2013.07.28 CategoryAPI/MFC ByMoA Views614
    Read More
Board Pagination Prev 1 2 3 ... 4 Next
/ 4
위로