zLog
============================================================================

	Summary  Non-view class for logging of messages to a file.

	Remarks  This class is used to log various messages to text log files.
	         It supports different formats (currently limited to ProBoard,
	         InterMail/FrontDoor and Binkley/Squish). Also, 4 logging
	         levels are supported (Normal, Message, Error, Fatal). The log
	         file is kept open unless Close() is called explicitly. In that
	         case, the file will have to be reopened with Open() afterwards.


	ZLOG::ZLOG
	------------------------------------------------------------------------

		Summary  Creates the logging object and sets the format.

		Syntax   zLog(const char *fileName, log_type logType);

		Remarks  This creates the logging object and associates it with
		         the file 'fileName'. If the file does not exist, it will
		         be created. The logging file is then opened and prepared
		         for appending of new log entries. The 'logType' parameter
		         can be one of the following:

                       enum log_type { intermail, binkley, proboard };

                 Note that you will have to use the scope resolution
                 operator to access the enumerations above (zLog::) because
                 they are members of the zLog class. Note that the ProBoard
                 log style does not support levels (all will be normal).

		Example  zLog log("LOGFILE.LOG", zLog::intermail);

		See also zLog::log_level


	ZLOG::~ZLOG
	------------------------------------------------------------------------

		Summary  Destroys the object, frees all memory and closes the log.

		Syntax   ~zLog();

		Remarks  The destructor ensures that all memory is properly freed
		         and that the log file is closed if necessary.


	ZLOG::SETPID
	------------------------------------------------------------------------

		Summary  Set the process id string.

		Syntax   void SetPID(const char *text);

		Remarks  This sets the process ID string to 'text'. This is usually
		         necessary for the InterMail and Binkley logfile styles
		         because they do not store the current date as part of the
		         log text. You can safely use this function with any style
		         supported by zLog. This usually will be your program name.

		Return   Nothing.

		Example  SetPID("The Best Program v1.0a DOS/386");

		See also zLog::Write


	ZLOG::WRITE
	------------------------------------------------------------------------

		Summary  Writes a text line to the log file.

		Syntax   void Write(log_level logLevel, const char *format, ...);

		Remarks  This function will append text to the log file. If the
		         file is not open, the call will have no effect. The syntax
		         is the same as for the printf() function (refer to your
		         compiler manual), with variable number of arguments.
		         Here's a list of all supported log levels:

                       enum log_level { normal, mesg, error, fatal };

                 Since the enumeration is a member of the class, you will
                 need to use the scope resolution operator to access them
                 (zLog::normal). You should not append a newline to your
                 logging text strings.

		Return   Nothing.

		Example  Write(zLog::error, "Cannot open '%s' file.", "BADFILE.TXT");


	ZLOG::CLOSE
	------------------------------------------------------------------------

		Summary  Temporarily close the log file.

		Syntax   void Close();

		Remarks  This function will close the log file. Any further Write()
		         calls will not append anything to it until Open() is called.
		         This is usually useful if you need to shell out of the
		         application or spawn another process. Since the number of
		         files that can be kept open by the system is usually
		         limited, it might be a good idea to close the log.

		Return   Nothing.

		See also zLog::Open


	ZLOG::OPEN
	------------------------------------------------------------------------

		Summary  Opens a previously closed log file.

		Syntax   void Open();

		Remarks  This function should only be called if you used Close()
		         to close the log file temporarily. This will re-open the
		         log file (or re-create it if necessary) and prepare it
		         for writing.

		Return   Nothing.

		See also zLog::Close

