c++格式化日志输出实现代码

  

核心代码

        空白注销(LPCTSTR pFormat,…)   {   char日志文件[128]={0};   char str [1024]={0};   文件* * fp=, (ThreadDatas [0] .pf);      va_list pArg;      EnterCriticalSection(及cs_log);//独占访问   __try   {   SYSTEMTIME圣;   如果(ThreadDatas [0] .num> 100000)//10 w条一个文件   {   如果(fp)   {   文件关闭(* fp);   * fp=0;   }   ThreadDatas [0] .num=0;   }   如果(NULL==* fp)   {   字符测试器[20]={0};//GetSystemTime(及圣);   GetLocalTime(及圣);   sprintf(日志文件”。\ \ logs \ \ ASR_ % 04 d - % 2 d - % 2 d % 02 d_ % 02 d_ % 02 d.log”, st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);   * fp=fopen(日志文件,“+”);   如果(NULL==* fp)   {//printf("创建日志文件faile % s \ n”,日志文件);   LogEvent(“创建日志文件faile % s”,日志文件);   返回;   }//其他//LogEvent(“日志文件,创建日志文件% s“* fp);   }   GetLocalTime(及圣);   sprintf (str,“% 04 d - % 2 d - % 2 d % 2 d: % 2 d: % 2 d。03号% d % s”, st.wYear st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds, pFormat);   va_start (pArg pFormat);//流(* fp, chMsg);   函数(* fp, str, pArg);   va_end (pArg);   。fflush (* fp);   }   __except (EXCEPTION_EXECUTE_HANDLER)   {   LogEvent(线程日志文件错误:% s,日志文件);   }   LeaveCriticalSection(及cs_log);//释放独占访问   }      

好了,这篇文章就结束到这,后续小编会为大家提供更多的代码。

c++格式化日志输出实现代码