/**************************************************************************** * [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