ootrace.c
来自「一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话」· C语言 代码 · 共 132 行
C
132 行
/* * Copyright (C) 2004-2005 by Objective Systems, Inc. * * This software is furnished under an open source license and may be * used and copied only in accordance with the terms of this license. * The text of the license may generally be found in the root * directory of this installation in the COPYING file. It * can also be viewed online at the following URL: * * http://www.obj-sys.com/open/license.html * * Any redistributions of this file including modified versions must * maintain this copyright notice. * *****************************************************************************/#include <stdarg.h>#include <stdlib.h>#include <stdio.h>#include <time.h>#include "ootypes.h"#include "ootrace.h"#include "ooCommon.h"#include "ooCapability.h"#include "ooq931.h"#include "ooh245.h"#include "ooh323ep.h"/** Global endpoint structure */extern OOH323EndPoint gH323ep;static OOUINT32 gs_traceLevel = TRACELVL;void ooSetTraceThreshold(OOUINT32 traceLevel){ gs_traceLevel = traceLevel;}void ooTrace(OOUINT32 traceLevel, const char * fmtspec, ...){ va_list arglist; char logMessage[MAXLOGMSGLEN]; if(traceLevel > gs_traceLevel) return; va_start (arglist, fmtspec); /* memset(logMessage, 0, MAXLOGMSGLEN);*/ vsprintf(logMessage, fmtspec, arglist); va_end(arglist); ooTraceLogMessage(logMessage);}void ooTraceLogMessage(const char * logMessage){ char timeString[100]; char currtime[3]; static int lasttime=25; int printDate =0; static int printTime=1; #ifdef _WIN32 SYSTEMTIME systemTime; GetLocalTime(&systemTime); GetTimeFormat(LOCALE_SYSTEM_DEFAULT,0, &systemTime, "HH':'mm':'ss", timeString, 100); GetTimeFormat(LOCALE_SYSTEM_DEFAULT,0, &systemTime, "H", currtime, 3); if(lasttime> atoi(currtime)) printDate=1; lasttime = atoi(currtime); #else struct tm *ptime; char dateString[10]; time_t t = time(NULL); ptime = localtime(&t); strftime(timeString, 100, "%H:%M:%S", ptime); strftime(currtime, 3, "%H", ptime); if(lasttime>atoi(currtime)) printDate = 1; lasttime = atoi(currtime); #endif #ifdef _WIN32 if(printDate) { printDate = 0; fprintf(gH323ep.fptraceFile, "---------Date %d/%d/%d---------\n", systemTime.wMonth, systemTime.wDay, systemTime.wYear); } if(printTime) { fprintf(gH323ep.fptraceFile, "%s:%03d %s", timeString, systemTime.wMilliseconds, logMessage); } else fprintf(gH323ep.fptraceFile, "%s", logMessage); fflush(gH323ep.fptraceFile);#else if(printDate) { printDate = 0; strftime(dateString, 10, "%D", ptime); fprintf(gH323ep.fptraceFile, "---------Date %s---------\n", dateString); } if(printTime) { struct timeval systemTime; gettimeofday(&systemTime, NULL); fprintf(gH323ep.fptraceFile, "%s:%03ld %s", timeString, systemTime.tv_usec/1000, logMessage); } else fprintf(gH323ep.fptraceFile, "%s", logMessage); fflush(gH323ep.fptraceFile);#endif if(strchr(logMessage, '\n')) printTime = 1; else printTime = 0;}int ooLogAsn1Error(int stat, const char * fname, int lno){ OOTRACEERR4("Asn1Error: %d at %s:%d\n", stat, fname, lno); return stat;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?