본문 바로가기

C, C++, C#/MFC

MFC Log 클래스

반응형

안녕하세요. MFC환경에서 사용 가능한 로그 클래스입니다.

 

프로그램 작동 중 로그를 남길 일이 많아 클래스를 만들어 공유합니다.

 

로그 클래스는 해당 깃으로 들어가 다운 받으시면 됩니다.

Url : https://github.com/kjky12/ClassLog.git

 

저는 해당 로그 클래스를 싱글톤 패턴으로 이용하기 위해 최상위 헤더에 선언하였습니다.

 

개발 환경은 Visual Studio에서 수행했으며 버전에 따라 서로 다른 파일에 선언해줍니다.(구조가 바뀐 것으로 보이네요)

 

1. 해당 클래스를 프로젝트에 추가해줍니다.(추가하지 않으면 외부종속성 함수 에러가 발생합니다.)

2. 초기 클래스를 선언해줍니다.

Visual Studio 2012, vs2013 Visual Studio 2019

-------------------------------------------------

파일명 : stdafx.h

#include "Log.h"
extern CLog* g_pLog;

-------------------------------------------------

파일명 : pch.h

#include "Log.h" 
extern CLog* g_pLog;

-------------------------------------------------

파일명 : stdafx.cpp

CLog* g_pLog; 

-------------------------------------------------

파일명 : pch.cpp

CLog* g_pLog; 

 

3. Log.cpp파일에 비주얼스투디오 구조에 맞추어 파일을 인클루드 합니다.

Visual Studio 위 항목에 따라 Log클래스의 include를 변경해줍니다.

 

4.Create함수 또는 OninitOnInitDialog()함수에 아래 코드의 내용을 붙여넣어줍니다.

	
    //! 로그 클래스 생성
	g_pLog = CLog::Instance();
	//! 로그 디렉토리 자동 생성
	g_pLog->SetAutoDirectory(TRUE);
	//! 경로 설정
	g_pLog->SetAutoDirectoryName(L"Restartlog");

	g_pLog->Log(L"로그 클래스 생성!");
    
  	//! 로그 앞 시간 표시!
	g_pLog->EnableTimestamp(TRUE);

	g_pLog->Log(L"로그 클래스 데이터 입력!!");

 

5. 프로젝트를 실행하면 아래와 같은 경로의 로그파일이 생성된 것을 확인할 수 있습니다. 그리고 EnableTimeStamp함수를 이용해 로그의 시간을 표시가 가능합니다.

반응형