본문 바로가기

programming/C++

Log 파일 남기기.






사용방법은 create_log_file() 후 write_log_file()함수를 호출해주면 됩니다.



// stdafx.cpp : 표준 포함 파일만 들어 있는 소스 파일입니다.
// CrevisFnIO.pch는 미리 컴파일된 헤더가 됩니다.
// stdafx.obj에는 미리 컴파일된 형식 정보가 포함됩니다.

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <commctrl.h>
#include <direct.h>

헤더 파일 추가 후...

static char LogPath[MAX_PATH];

int write_log_file(char *wstring)
{
    FILE *LogFile;
    char l_str[100];
    SYSTEMTIME lpSystemTime;
    if ((LogFile = fopen(LogPath,"at" )) == NULL)
   {
            return(1);
   }
GetLocalTime(&lpSystemTime); // 현재 날짜, 시간 가져오는 함수
sprintf(l_str,"%02d.%02d.%04d - %02d:%02d:%02d:%03d : ",lpSystemTime.wDay,lpSystemTime.wMonth,lpSystemTime.wYear,lpSystemTime.wHour,lpSystemTime.wMinute,lpSystemTime.wSecond, lpSystemTime.wMilliseconds);

fputs( l_str, LogFile);
fputs( wstring, LogFile);
fputs( "\n", LogFile);
fclose(LogFile);
return(0);
}

int create_log_file()
{
    FILE *LogFile;
// get current application path
_getcwd(LogPath, MAX_PATH );
if(LogPath[strlen(LogPath) - 1] != '\\')
       strcat(LogPath,"\\");
strcat(LogPath,"LogFileName.log");

if ((LogFile = fopen(LogPath,"wt" )) == NULL)
{
     return(1);
}
fputs( "------------------------------ Log File Crate.... ", LogFile);
fputs( " Log File ------------------------------\n", LogFile);
fputs( "---------------------------------------------------------------------------------------------------\n", LogFile);

fclose(LogFile);
return(0);
}