LogFile.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #if !defined(AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_)
  2. #define AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // LogFile.h : header file
  7. //
  8. //#include <windows.h>
  9. //#include "stdio.h"
  10. //#include <iomanip.h>
  11. #ifndef _FSTREAM_
  12. #include <fstream>
  13. using namespace std;
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CLogFile window
  17. class CLogFile
  18. {
  19. public:
  20. void Date();
  21. void Clear();
  22. void SetLogLevel(int nLevel);
  23. int m_nLevel;
  24. int m_nCurrentLevel;
  25. char m_FileName[256];
  26. char m_szLogPath[MAX_PATH];
  27. void Time();
  28. CLogFile();
  29. void Open();
  30. void Open(LPCTSTR lpszFileName);
  31. void Close();
  32. ~CLogFile();
  33. CLogFile& operator <<(long lVal);
  34. CLogFile& operator <<(const TCHAR* str);
  35. CLogFile& operator <<(TCHAR tch);
  36. CLogFile& operator <<(int nVal);
  37. CLogFile& operator <<(unsigned long ulVal);
  38. CLogFile& operator <<(double dVal);
  39. CLogFile& operator <<(unsigned int unVal);
  40. CLogFile& operator <<(CLogFile& (*_f)(CLogFile&));
  41. void Write(TCHAR* formatString, ...);
  42. /* friend CLogFile& setlevel(CLogFile& os, int level)
  43. {
  44. m_nCurrentLevel = level;
  45. return os;
  46. }
  47. */
  48. friend CLogFile& error_lvl(CLogFile& os)
  49. {
  50. os.m_nCurrentLevel = 1;
  51. return os;
  52. }
  53. friend CLogFile& warning_lvl(CLogFile& os)
  54. {
  55. os.m_nCurrentLevel = 2;
  56. return os;
  57. }
  58. friend CLogFile& trace_lvl(CLogFile& os)
  59. {
  60. os.m_nCurrentLevel = 3;
  61. return os;
  62. }
  63. private:
  64. ofstream *m_File;
  65. void Output( const TCHAR* data);
  66. WORD m_OldDate;
  67. };
  68. // manipulator for writing time to logfile
  69. CLogFile& time(CLogFile& os);
  70. // manipulator for writing date to logfile
  71. CLogFile& date(CLogFile& os);
  72. // manipulator for writing end of line to logfile
  73. CLogFile& endl(CLogFile& os);
  74. // manipulator for settings log level to error
  75. CLogFile& error_lvl(CLogFile& os);
  76. // manipulator for settings log level to trace
  77. CLogFile& trace_lvl(CLogFile& os);
  78. // manipulator for settings log level to warning
  79. CLogFile& warning_lvl(CLogFile& os);
  80. #endif // !defined(AFX_LOGFILE_H__7B62ED00_C40F_11D2_8415_444553540000__INCLUDED_)