www.pudn.com > ftpserversrc.rar > LogFile.h


#if !defined(AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_) 
#define AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
// LogFile.h : header file 
// 
//#include  
//#include "stdio.h" 
//#include  
 
#ifndef _FSTREAM_ 
 
#include  
using namespace std; 
 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CLogFile window 
 
class CLogFile 
{ 
public: 
	void Date(); 
	void Clear(); 
	void SetLogLevel(int nLevel); 
	int m_nLevel; 
	int m_nCurrentLevel; 
    char m_FileName[256]; 
	char m_szLogPath[MAX_PATH]; 
	void Time(); 
	CLogFile(); 
	void Open(); 
	void Open(LPCTSTR lpszFileName); 
	void Close(); 
 
	~CLogFile(); 
 
	CLogFile& operator <<(long				lVal); 
	CLogFile& operator <<(const		TCHAR*	str); 
	CLogFile& operator <<(TCHAR				tch); 
	CLogFile& operator <<(int				nVal); 
	CLogFile& operator <<(unsigned	long	ulVal); 
	CLogFile& operator <<(double			dVal); 
	CLogFile& operator <<(unsigned	int		unVal); 
 
	CLogFile& operator <<(CLogFile& (*_f)(CLogFile&)); 
	void  Write(TCHAR* formatString, ...);	 
	 
/*	friend CLogFile& setlevel(CLogFile& os, int level)  
	{ 
        m_nCurrentLevel = level; 
        return os; 
    } 
*/ 
 
	friend CLogFile& error_lvl(CLogFile& os)  
	{ 
		os.m_nCurrentLevel = 1; 
		return os; 
	} 
 
	friend CLogFile& warning_lvl(CLogFile& os)  
	{ 
		os.m_nCurrentLevel = 2; 
		return os; 
	} 
	 
	friend CLogFile& trace_lvl(CLogFile& os)  
	{ 
		os.m_nCurrentLevel = 3; 
		return os; 
	} 
 
private: 
	ofstream	*m_File; 
	void		Output( const TCHAR* data); 
 
    WORD m_OldDate; 
}; 
 
// manipulator for writing time to logfile 
CLogFile& time(CLogFile& os); 
 
// manipulator for writing date to logfile 
CLogFile& date(CLogFile& os); 
 
// manipulator for writing end of line to logfile 
CLogFile& endl(CLogFile& os); 
 
// manipulator for settings log level to error 
CLogFile& error_lvl(CLogFile& os); 
// manipulator for settings log level to trace 
CLogFile& trace_lvl(CLogFile& os); 
// manipulator for settings log level to warning 
CLogFile& warning_lvl(CLogFile& os); 
 
#endif // !defined(AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_)