Download this source code in text format (Log.cpp)
/***********************************************************
* 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();
}
}