Annotation of DewFind/LogFile.h, revision 1.1.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>