/*********************************************************** * WindowMud - Window Mud Server * * File: Log.cpp * * Usage: Logs messages to disk file * * * * No warranty is given or implied. * * There is no license associated with this code. * * There are no restrictions on the use of this code. * * This code may be used in any way the reader wishes. * * No credit or credits are given and none are required. * * The reader may take this code and claim they wrote it. * ************************************************************/ /*********************************************************** * Includes * ************************************************************/ #include "stdafx.h" // precompiled headers #include "Log.h" /*********************************************************** * Globals * ************************************************************/ CStdioFile LogFile; /*********************************************************** * Log constructor * ************************************************************/ Log::Log() { } /*********************************************************** * Log destructor * ************************************************************/ Log::~Log() { } //////////////////////////////////////////////////////////// // Public functions static // //////////////////////////////////////////////////////////// /*********************************************************** * Close log file * ************************************************************/ void Log::CloseLogFile() { LogFile.Close(); } /*********************************************************** * Write log file * ************************************************************/ void Log::LogIt(CString LogBuf) { CTime CurrentTime; CString DisplayCurrentTime; CurrentTime = CTime::GetCurrentTime(); DisplayCurrentTime = CurrentTime.Format("%Y/%m/%d %H:%M:%S "); LogBuf = DisplayCurrentTime + LogBuf; LogBuf += "\n"; LogFile.WriteString(LogBuf); LogFile.Flush(); } /*********************************************************** * Open log file * ************************************************************/ void Log::OpenLogFile() { CTime CurrentTime; CFileStatus FileStatus; CString LogFileName; CString LogSaveFileName; CString LogTime; int Success; LogFileName = LOG_DIR; LogFileName += "ServerLog.txt"; if (CFile::GetStatus(LogFileName, FileStatus)) { // If a log file exists, rename it CurrentTime = CTime::GetCurrentTime(); LogTime.Format("%d", CurrentTime); LogSaveFileName = LogFileName.Left(LogFileName.GetLength()-4); LogSaveFileName += "."; LogSaveFileName += LogTime; LogSaveFileName += ".txt"; CFile::Rename(LogFileName, LogSaveFileName); } Success = LogFile.Open(LogFileName, CFile::modeCreate | CFile::modeWrite | CFile::shareDenyWrite | CFile::typeText); if(!Success) { AfxMessageBox("Log::OpenLogFile - Failed", MB_ICONSTOP); _endthread(); } }