반응형

http://icary.tistory.com/5



프로그램에서 편하게 Log를 남길 수 있는 class 입니다.

Singleton을 사용해서 multi thread 환경에서도 하나의 객체만 생성되며,

Log파일의 이름은 발생 날짜 정보와 실행파일의 이름을 조합하여 사용합니다.

Log는 argument list를 사용해서 printf에서 사용하는 다음의 format을 사용할 수 있습니다.
- %d : int
- %c : char
- %s : char *
더 많은 변수를 사용하려면 LogManager.cpp에서 다음 부분을 수정해서 사용하면 됩니다.
    va_start( argptr, mesg );
    for(int i = 0; i < format.GetLength(); i++){
        if(format.GetAt(i) != '%'){

   buffer2 = " ";
   buffer2.SetAt(0, format.GetAt(i));
            buffer += buffer2;
        } else {
            i++;
            switch(format.GetAt(i)){
                case 'd':
                    buffer2.Format("%d", va_arg(argptr,int) );
                    buffer += buffer2;
                    break;
                case 's':
                    buffer2.Format("%s", va_arg(argptr, char*) );
                    buffer += buffer2;
                    break;
                case 'c':
                    buffer2.Format("%c", va_arg(argptr, char) );
                    buffer += buffer2;
                    break;
            }
        }
    }
    va_end( argptr );

사용방법은 
1. LogManager.zip 을 다운 받는다.
2. LogManager.zip 의 압축을 푼다.
3. LogManager.h와 LogManager.cpp을 프로젝트에 추가한다.
4. 로그를 남기고 싶은 곳에서 
LogManager::GetInstance()->Log("Put your Log Here!!"); 
과 같은 방식으로 사용한다.

첨부파일

반응형

+ Recent posts