zoukankan      html  css  js  c++  java
  • 格式化日志输出

    格式化日志输出

    void LogOut(LPCTSTR pFormat, ...)
    {
    	char LogFile[128]={0};
    	char str[1024]={0};
    	FILE** fp=&(ThreadDatas[0].pf);
    
        va_list pArg;
    
    	EnterCriticalSection(&cs_log);//独占访问
    	__try
    	{
    		SYSTEMTIME st;
    		if(ThreadDatas[0].num>100000)//10W条一个文件
    		{
    			if(fp)
    			{
    				fclose(*fp);
    				*fp=0;
    			}
    			ThreadDatas[0].num=0;
    		}
    		if(NULL==*fp)
    		{
    			char tstr[20]={0};
    			//GetSystemTime(&st);
    			GetLocalTime(&st);
    			sprintf(LogFile,".\logs\ASR_%04d-%02d-%02d.%02d_%02d_%02d.log",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
    			*fp=fopen(LogFile,"a+");
    			if( NULL==*fp )
    			{
    			//printf("Create LogFile faile %s
    ",LogFile);
    				LogEvent("Create LogFile faile %s",LogFile);
    				return;
    			}
    			//else
    			//LogEvent("Create LogFile %s",LogFile,*fp);
    		}
    		GetLocalTime(&st);
    		sprintf(str,"%04d-%02d-%02d %02d:%02d:%02d.%03d %s",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds,pFormat);
    		va_start(pArg, pFormat);
    		//fprintf(*fp,chMsg);
    		vfprintf(*fp, str, pArg);
    		va_end(pArg);
    		fflush(*fp);
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		LogEvent("Thread Log file Error:%s",LogFile);
    	}
    	LeaveCriticalSection(&cs_log);//释放独占访问
    }
    
  • 相关阅读:
    ICON 收集
    vs2015with_update_3
    文件大全,以后就从这些格式入手fuzz
    诗词
    tools URL 收集
    (四)ORBSLAM运动估计
    (三)ORB特征匹配
    (二)ORB描述子提取源码思路与实现
    (一)ORB描述子提取
    双目立体匹配——归一化互相关(NCC)
  • 原文地址:https://www.cnblogs.com/lzpong/p/3955901.html
Copyright © 2011-2022 走看看