/* Do not remove the headers from this file! see /USAGE for more info. */ /* ** log_d.c -- logging daemon ** ** 960102, Deathblade: created */ #include <log.h> #include <dirs.h> inherit M_ACCESS; /* ** Map the symbolic log names to their respective log files. Note that ** many names can map to a single file. */ private nosave mapping legal_logs = ([ LOG_ADDEMOTE : DIR_LOG "/addemote", LOG_AUTODOC : DIR_LOG "/autodoc", LOG_BANISH : DIR_LOG "/banishes", LOG_BUG : DIR_LOG "/bugs", LOG_CHANNEL : DIR_LOG "/chanlog", LOG_FORCE : DIR_LOG "/forces", LOG_FTP : DIR_LOG "/ftp", LOG_HELP_MISS : DIR_LOG "/help_miss", LOG_I3_ERROR : DIR_LOG "/i3_errors", LOG_IDEA : DIR_LOG "/ideas", LOG_LOGIN : DIR_LOG "/logins", LOG_LOGIN_FAILURE : DIR_LOG "/login_fail", LOG_MAIL_ERROR : DIR_LOG "/mail_errs", LOG_NEW_PLAYERS : DIR_LOG "/new_players", LOG_QUEST : DIR_LOG "/quests", LOG_QUIT : DIR_LOG "/logins", LOG_SETNAME : DIR_LOG "/setname", LOG_SHUTDOWN : DIR_LOG "/shutdown", LOG_SNOOP : DIR_SECURE_LOG "/snoops", LOG_SOCKET : DIR_LOG "/socket", LOG_TODO : DIR_LOG "/todos", LOG_TYPO : DIR_LOG "/typos", LOG_WALL : DIR_LOG "/walls", LOG_FTP : DIR_LOG "/ftp", LOG_RCP : DIR_LOG "/rcp", ]); private nosave string * timestamps = ({ LOG_BANISH, LOG_CHANNEL, LOG_SHUTDOWN, }); void create() { set_privilege(1); } void log(string which, string what) { if ( !legal_logs[which] ) error("illegal attempt to log to " + which + "\n"); if ( member_array(which, timestamps) != -1 ) what = ctime(time()) + ": " + what; unguarded(1, (: write_file, legal_logs[which], what :)); }