본문 바로가기
C++ 200제/코딩 IT 정보

C++ CLI 로그 파일 출력, 3가지 txt 만들기 방법

by vicddory 2018. 3. 28.

C++ CLI 로그 파일 출력, 3가지 txt 만들기 방법


1. MSDN 템플릿 소스 [링크]


1
2
3
4
5
6
7
8
9
10
11
12
String^ fileName = "textfile.txt";  
  
StreamWriter^ sw = gcnew StreamWriter(fileName);  
sw->WriteLine("A text file is born!");  
sw->Write("You can use WriteLine");  
sw->WriteLine("...or just Write");  
sw->WriteLine("and do {0} output too.""formatted");  
sw->WriteLine("You can also send non-text objects:");  
sw->WriteLine(DateTime::Now);  
sw->Close();  
 
Console::WriteLine("a new file ('{0}') has been written", fileName);  
cs

이 방법이 가장 좋다고 생각합니다.


3가지 방법 중 가장 확실하고 StreamWriter를 사용하기에 C++ 로그 파일 출력하기에도 딱 좋죠.


C++ CLI 로그 파일 출력, 3가지 txt 만들기 방법[C++ CLI LOG 남기기]


2. Simple logger for C++ [커스텀 파일 링크]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "threading.h"
#include "Logger.h"
#include <fstream>
 
using namespace framework::Diagnostics;
using namespace framework::Threading;
 
int _tmain(int argc, _TCHAR* argv[])
{
    CLogger<CNolock> logger(LogLevel::Info, _T("MyApp"));
 
    logger.AddOutputStream(std::wcout, false, LogLevel::Error);
    logger.AddOutputStream(new std::wofstream("c:\\temp\\myapp.log"), 
           true, framework::Diagnostics::LogLevel::Info);
        
    WRITELOG(logger, framework::Diagnostics::LogLevel::Info, _T("Program starting"));
    WRITELOG(logger, framework::Diagnostics::LogLevel::Warn, _T("Something may have gone wrong"));
    WRITELOG(logger, framework::Diagnostics::LogLevel::Error, _T("Something did go wrong"));
 
    CLogger<CNoLock>* loggerPtr = &logger; // An easy way to use pointer to a logger object
 
    LOGINFOP(loggerPtr, _T("Program Ending"));
 
    return 0;
}
cs


인도 개발자가 만든 프로그램입니다.


좋긴한데 호환성이 어느 정도나 좋은지 몰라 판단은 유보하겠습니다. C++ CLI 로그 파일 출력하기에 적합한진 테스트를 많이 해보지 않았어요.


c++ cli txt 로그 파일[C++ CLI LOG 남기기]


c++ cli 파일 만들기[C++ CLI LOG 남기기]


3. #IFDEF DEBUG 이용하기 [링크]


1
2
3
4
5
6
7
8
9
10
11
12
#include "stdio.h"
 
void WriteLogFile(const char* szString)
{
  #IFDEF DEBUG
 
  FILE* pFile = fopen("logFile.txt""a");
  fprintf(pFile, "%s\n",szString);
  fclose(pFile);
 
  #ENDIF
}
cs


C++ CLI 로그 파일 출력하는 소스인지, MFC 소스인지 ...


#전처리기는 개인적으로 안 쓰는 키워드라 거부감이 드네요. 물론 아닌 분들도 많겠지만요.


C++ CLI 로그 파일 출력, 3가지 txt 만들기 방법

댓글