本文整理汇总了C++中DateTime::GetMilliSecond方法的典型用法代码示例。如果您正苦于以下问题:C++ DateTime::GetMilliSecond方法的具体用法?C++ DateTime::GetMilliSecond怎么用?C++ DateTime::GetMilliSecond使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateTime
的用法示例。
在下文中一共展示了DateTime::GetMilliSecond方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MakeLogfilenameWithPostfix
VOID CLogFile::MakeLogfilenameWithPostfix()
{
DateTime now;
_snprintf(m_szLogFileName,MAX_FILE_NAME, "%s/%s_%.4d%.2d%.2d_%.2d%.2d%.2d_%.2d.log", m_szFilePath, m_szFileName, now.GetYear(), now.GetMonth(),
now.GetDay(), now.GetHour(), now.GetMinute(), now.GetSecond(), now.GetMilliSecond());
}
示例2: CacheLog
VOID CLogFile::CacheLog(enum_LOG_LEVEL logLevel, const CHAR* pLogString , ... )
{
//等级太低,不需打印控制台和文件
if (logLevel < m_eConsoleLogLevel && logLevel < m_eFileLogLevel)
{
return ;
}
CHAR szLine[MAX_LOG_LINE] = {0};
va_list va;
va_start(va,pLogString);
#ifdef __LINUX
vsprintf(szLine,pLogString,va);
#else
vsprintf_s(szLine,MAX_LOG_LINE,pLogString,va);
#endif
va_end(va);
DateTime now;
CHAR szLogStr[MAX_LOG_LINE] = {'\0'};
_snprintf(szLogStr, MAX_LOG_LINE-1, "%2d/%02d/%02d %02d:%02d:%02d.%03d tId:%ld %s\n",
now.GetYear(),
now.GetMonth(),
now.GetDay(),
now.GetHour(),
now.GetMinute(),
now.GetSecond(),
now.GetMilliSecond(),
GetThreadID(),
szLine);
//高等与控制台等级,则打印到控制台
if (logLevel >= m_eConsoleLogLevel)
{
printf("%s", szLogStr);
}
//高等与文件等级,则打印到文件
if (logLevel >= m_eFileLogLevel)
{
CSmartLock sLock(m_lock);
int strLength = strlen(szLogStr);
if (m_pWriteBuf + strLength - m_pFrontBuf >= LOG_BUF_LEN)
{
//front 缓冲满了
if (m_bBackBufAvailable)
{
//两块全满了,这条要丢。
printf("LOG LOST!!, %s", szLogStr);
return;
}
//back空着,将front交换到back
SwitchBuf();
}
//写入front
strcpy( m_pWriteBuf, szLogStr );
m_pWriteBuf += strLength;
}
}
示例3: DiskLog
VOID CLogFile::DiskLog(enum_LOG_LEVEL logLevel, const CHAR* pLogString , ...)
{
//等级太低,不需打印控制台和文件
if (logLevel < m_eConsoleLogLevel && logLevel < m_eFileLogLevel)
{
return ;
}
CHAR szLine[MAX_LOG_LINE] = {0};
va_list va;
va_start(va,pLogString);
#ifdef __LINUX
vsprintf(szLine,pLogString,va);
#else
vsprintf_s(szLine,MAX_LOG_LINE,pLogString,va);
#endif
va_end(va);
DateTime now;
CHAR szLogStr[MAX_LOG_LINE] = {'\0'};
_snprintf(szLogStr, MAX_LOG_LINE, "%2d/%02d/%02d %02d:%02d:%02d.%03d tId:%ld %s\n",
now.GetYear(),
now.GetMonth(),
now.GetDay(),
now.GetHour(),
now.GetMinute(),
now.GetSecond(),
now.GetMilliSecond(),
GetThreadID(),
szLine);
//高等与控制台等级,则打印到控制台
if (logLevel >= m_eConsoleLogLevel)
{
printf("%s", szLogStr);
}
//高等与文件等级,则打印到文件
if (logLevel >= m_eFileLogLevel)
{
CSmartLock sLock(m_lock);
INT nLogStrLen = strlen(szLogStr);
if ((m_bBackBufAvailable) &&
(m_pWriteBuf + nLogStrLen - m_pFrontBuf >= LOG_BUF_LEN))
{
//如果back有东西, front还写不下,就要写2次文件了,不过这种情况应该很少
WriteBackBufToFile();
}
if (m_pWriteBuf + nLogStrLen - m_pFrontBuf >= LOG_BUF_LEN)
{
//front写不下,那么back肯定空着
SwitchBuf();
}
//写入front
strcpy( m_pWriteBuf, szLogStr );
m_pWriteBuf += nLogStrLen;
//全写入文件中
WriteAllBufToFile();
}
}