用CFile创建的log文件如何按时间或者大小重新创建新的log

用CFile创建的log文件怎么按时间或者大小重新创建新的log
现在服务器上生成的log全在一个日志里面,还没有删除机制,几天就弄得一个文本文档好几G,这样查看里面内容很麻烦。。。
怎么才能按照时间就是每隔一天生成一个
或者每到一定大小比如200M重新生成一个
问题是不想删掉之前的,可能会用到。

void CLog::WriteLog( CString& StrTitle )
{
CStdioFile File;
CFileException FileException;
::EnterCriticalSection(&m_csLog);
if( File.Open( LogFileName, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite | CFile::shareDenyNone, &FileException ) )
{
CString StrData;
if( StrTitle.GetLength() > 0 )
{
CTime Time = CTime::GetCurrentTime();
StrData = Time.Format( _T("%Y-%m-%d %H:%M:%S") );
StrData = StrData + _T("  ") + StrTitle;
}

File.Seek( 0, CFile::end );
File.WriteString( StrData.GetBuffer(StrData.GetLength()) );
File.WriteString(_T("\n"));
File.Close();
}
else
{
#ifdef _DEBUG
CString StrError;
FileException.GetErrorMessage( StrError.GetBuffer(1024), 1024 );
//AfxMessageBox(_T("不能打开日志文件,错误代码为:") + StrError );
#endif
}

::LeaveCriticalSection(&m_csLog);
}

具体代码是这样,怎么改进,在哪里改进,求帮助
CFile 生成log文件 按时间生成 安大小生成

------解决方案--------------------
文件名中带上日期就可以了,然后打开的时候设置不存在就创建,否则就写
------解决方案--------------------
每天一个日志文件即可,在代码File.Open( LogFileName,  处判断