关闭

打印LOG

1037人阅读 评论(0) 收藏 举报
  1.  ////////////////////////////////////////////////////////////////////////////////////
  2.  enum _LOG_LEVEL //LOG级别
  3.  {
  4.   _LOG_LEVEL_ERROR = 0,
  5.   _LOG_LEVEL_DEBUG,
  6.   _LOG_LEVEL_RELEASE,
  7.  };
  8.  ////////////////////////////////////////////////////////////////////////////////////
  9.  class CTimeBase
  10.  {
  11.  public:
  12.   static string GetCurrentTime()//获取当前时间
  13.   {
  14.    string strTime = "";
  15.    struct tm *ptm = NULL;
  16.    time_t tme;
  17.    tme = time(NULL);
  18.    ptm = localtime(&tme);
  19.    char szTime[256];
  20.    memset(szTime, 0, 256);
  21.    sprintf(szTime, "%d-%02d-%02d %02d:%02d:%02d", (ptm->tm_year + 1900),
  22.     ptm->tm_mon, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
  23.    strTime = szTime;
  24.    return strTime;
  25.   }
  26.  public:
  27.  };
  28.  ////////////////////////////////////////////////////////////////////////////////////
  29.  void Log(size_t nLogLevel, char *pszFmt, va_list argptr)
  30.  {
  31.   assert(pszFmt != NULL);
  32.   assert(strlen(pszFmt) < 1024);
  33.   
  34.   switch(nLogLevel)
  35.   {
  36.   case _LOG_LEVEL_DEBUG:
  37.    {
  38.     char szLogLine[1000];
  39.     if (_vsntprintf(szLogLine, ARRSIZE(szLogLine), pszFmt, argptr) == -1)
  40.      szLogLine[ARRSIZE(szLogLine) - 1] = _T('/0');
  41.     char szFullLogLine[1024];
  42.     int iLen = _sntprintf(&szFullLogLine[0], sizeof(szFullLogLine),
  43.      _T("%s: %s/r/n"), CTimeBase::GetCurrentTime().c_str(), pszFmt);
  44.     TRACE(szFullLogLine);
  45.     break;
  46.    }
  47.   case _LOG_LEVEL_RELEASE:
  48.    {
  49.     break;
  50.    }
  51.   default:
  52.    {
  53.     break;
  54.    }
  55.   };
  56.  }
  57. //调用此函数打印LOG 如:PrintLog(_LOG_LEVEL_DEBUG, "%s, %d", "ErrorCode = ", 2000);
  58.  void PrintLog(size_t nLogLevel, char *pszFmt, ...)
  59.  {
  60.   assert(pszFmt != NULL);
  61.   
  62.   va_list argp;
  63.   va_start(argp, pszFmt);
  64.   Log(nLogLevel, pszFmt, argp);
  65.   va_end(argp);
  66.  } 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:436685次
    • 积分:6347
    • 等级:
    • 排名:第3975名
    • 原创:188篇
    • 转载:29篇
    • 译文:1篇
    • 评论:68条
    最新评论