/****************************************************************************
* [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | *
* -----------------------------------------------------------| \\._.// *
* SmaugWiz (C) 1998 by Russ Pillsbury (Windows NT version) | (0...0) *
* -----------------------------------------------------------| ).:.( *
* SMAUG (C) 1994, 1995, 1996 by Derek Snider | {o o} *
* -----------------------------------------------------------| / ' ' \ *
* SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, |~'~.VxvxV.~'~*
* Scryn, Swordbearer, Rennard, Tricops, and Gorog. | *
* ------------------------------------------------------------------------ *
* Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael *
* Chastain, Michael Quan, and Mitchell Tse. *
* Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, *
* Michael Seifert, Hans Henrik Staerfeldt, Tom Madsen, and Katja Nyboe. *
* ------------------------------------------------------------------------ *
* Area Interface file *
****************************************************************************/
#ifndef LOG_H
#define LOG_H
// Command logging types.
enum LogTypes { LOG_NORMAL, LOG_ALWAYS, LOG_NEVER, LOG_BUILD, LOG_HIGH,
LOG_COMM, LOG_RESET, LOG_BOOT, LOG_BUG, LOG_ALL,
LOG_PLAYER, LOG_END };
#define STDERR_FILE "stderr.txt" // For what Unix writes to standard error
class CLog {
public:
CLog (const char* name);
~CLog ();
void Open ();
void Close ();
void SetType (LogTypes t, BOOL bState = TRUE);
void SetFromSysData ();
BOOL IsLogged (LogTypes t) { return t == LOG_ALWAYS || m_Types [t]; }
void SetLeaveOpen (BOOL b = TRUE) { m_bLeaveOpen = b; }
void Print (LogTypes t, const char* s);
void Printf (LogTypes t, const char* fmt, ...);
long GetSize ();
void Archive ();
FILE *m_fp;
CString m_Name;
BOOL m_bLeaveOpen;
BOOL m_Types [LOG_END];
};
#endif