Annotation of DewFind/LogFile.h, revision 1.1
1.1 ! nick 1: //
! 2: // DewGames Log File Class
! 3: //
! 4: // Date: 10/15/2004
! 5: // Purpose: To keep a nice looking log file while a program
! 6: // is running. Will be able to see what procedures were accessed
! 7: // when and where.
! 8: //
! 9: // Brendan Lynch
! 10: //
! 11: //////////////////////////////////////////////////////////////////////
! 12:
! 13: //#32
! 14: //*************************************
! 15: //Programmed by: Brendan Lynch
! 16: //Email: dewgames@gmail.com
! 17: //Website: www.dewgames.com
! 18: //*************************************
! 19:
! 20:
! 21: #if !defined(AFX_LOGFILE_H__4DCD1963_B624_4D33_AFAA_09210CDE7EE5__INCLUDED_)
! 22: #define AFX_LOGFILE_H__4DCD1963_B624_4D33_AFAA_09210CDE7EE5__INCLUDED_
! 23:
! 24: #if _MSC_VER > 1000
! 25: #pragma once
! 26: #endif // _MSC_VER > 1000
! 27:
! 28:
! 29: #include <Windows.h>
! 30: /*
! 31: LOGFILE SYNTAX DESCRIPTION:
! 32:
! 33: The log file outputs logging information to an RTF file. C-style file I/O is used because it is
! 34: slightly faster than iostream. Text passed to the writer may use the following formatting tags:
! 35:
! 36: [<color>] - Text after this tag will be colored the specified color.
! 37: <color> can be: BLACK, WHITE, GREY, RED, GREEN, BLUE, CYAN, YELLOW,
! 38: MAGENTA, DARK_RED, DARK_GREEN, DARK_BLUE, LIGHT_RED, LIGHT_GREEN,
! 39: LIGHT_BLUE, ORANGE.
! 40:
! 41: [PLAIN] - Text after this tag will be unformatted
! 42:
! 43: [B], [/B] - Text in between these two tags will be bolded
! 44:
! 45: [I], [/I] - Text in between these two tags will be italicized
! 46:
! 47: [U], [/U] - Text in between these two tags will be underlined
! 48:
! 49: [S], [/S] - Text in between these two tags will have a line through it
! 50:
! 51: [SUB], [/SUB] - Text in between these two tags will be a subscript
! 52:
! 53: [SUPER], [/SUPER] - Text in between these two tags will be a superscript
! 54:
! 55: [LEFT] - Text will be left-justified (this is the default justification)
! 56:
! 57: [RIGHT] - Text will be right-justified
! 58:
! 59: [CENTER] - Text will be center-justified
! 60:
! 61: [FULL] - Text will be full-justified
! 62:
! 63: [TITLE], [/TITLE] - Text in between these two tags will be size 20
! 64:
! 65: [H], [/H] - Text in between these two tags will be size 12
! 66:
! 67: */
! 68:
! 69: enum MESSAGETYPE
! 70: {
! 71: MSG_SUCCESS = 1,
! 72: MSG_INFO = 2,
! 73: MSG_WARN = 3,
! 74: MSG_ERROR = 4,
! 75: };
! 76:
! 77: enum COLORTABLE
! 78: {
! 79: BLACK = 0,
! 80: WHITE = 1,
! 81: GREY = 2,
! 82: Red = 3,
! 83: GREEN = 4,
! 84: BLUE = 5,
! 85: CYAN = 6,
! 86: YELLOW = 7,
! 87: MAGENTA = 8,
! 88: DARK_RED = 9,
! 89: DARK_GREEN = 10,
! 90: DARK_BLUE = 11,
! 91: LIGHT_RED = 12,
! 92: LIGHT_GREEN = 13,
! 93: LIGHT_BLUE = 14,
! 94: ORANGE = 15,
! 95: };
! 96:
! 97:
! 98: class LogFile
! 99: {
! 100: public:
! 101: LogFile();
! 102: virtual ~LogFile();
! 103: void ToggleStatus(bool onoff); //turns the logger on/off
! 104: int Init(const CString sFile);
! 105: int Close();
! 106: bool GetState();
! 107: bool LogString(CString sText);
! 108: bool LogMessage(const CString sSource, const CString sMessage, MESSAGETYPE messageType);
! 109: bool LogMessage(const CString sSource, CString sMessage, int x,MESSAGETYPE messageType);
! 110: private:
! 111: void WriteString(const CString sText);
! 112: CString DoFormatting (CString sText);
! 113: bool loaded_;
! 114: bool status_; //if true write log, if false dont write log
! 115: HANDLE hFile_;
! 116: CString fileName_;
! 117: };
! 118:
! 119: #endif // !defined(AFX_LOGFILE_H__4DCD1963_B624_4D33_AFAA_09210CDE7EE5__INCLUDED_)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>