www.pudn.com > Wave_Src_func.zip > SimpleLogFile.h


// CSimpleLogFile.h: interface for the CSimpleLogFile class. 
// -Vinayak Raghuvamshi 
////////////////////////////////////////////////////////////////////// 
 
#pragma once 
 
#include  
 
enum LoggingLevel  
{ 
	CRITICAL	=	1,  
	IMPORTANT	=	2,  
	WARNING		=	3, 
	INFO		=	4,  
	VERBOSE		=	5 
}; 
 
class CSimpleLogFile   
{ 
public: 
	CSimpleLogFile(); 
	virtual ~CSimpleLogFile(); 
public: 
	void LogMessageWithTime(LoggingLevel L, const TCHAR *szString); 
	void LogMessage(LoggingLevel L, const TCHAR *szString); 
	void SetLogLevel(const LoggingLevel &L); 
	bool Initialize(const TCHAR *szFileName,const UINT &nMaxSize=65535,const LoggingLevel &L=WARNING); 
	void ControlFileSize(); 
	void GetCurTimeString(_bstr_t &strTime); 
	void Reset(); 
protected: 
	void OpenOrCreateFile(const TCHAR *szFileName,HANDLE &hFile); 
	void WriteTimeStamp(const TCHAR *szHeader=NULL); 
	void WriteString(const TCHAR *szString); 
	 
protected: 
	HANDLE	m_hFile; 
	UINT	m_nMaxSize; 
	TCHAR	m_szFileName[MAX_PATH]; 
	LoggingLevel	m_nLoggingLevel ; 
};