📄 ivr_log.c
字号:
#include"ivr_rtime.h"#define IVR_LLEN 16 int errlog(char *fmt, ...){ FILE *fp; va_list ap; char filename[81]; time_t t; struct tm tm; char errstr[101]; t = time((time_t*)0); localtime_r(&t, &tm); sprintf(filename, "%s/log/%s.%d", getenv("WORKDIR"),"ivrlog", tm.tm_wday); if((fp=fopen(filename, "a+"))==NULL){ return -1; } fprintf(fp, "TIME:%04d/%02d/%02d-%02d:%02d:%02d PID:%ld\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min , tm.tm_sec, getpid()); va_start(ap, fmt); if(vfprintf(fp, fmt, ap)<0) return -2; va_end(ap); fprintf(fp, "\n"); fclose(fp); return (0);}int filelog(char *filename, char *fmt, ...){ FILE *fp; va_list ap; time_t t; struct tm tm; t = time((time_t*)0); localtime_r(&t, &tm); if((fp=fopen(filename, "a+"))==NULL){ return -1; } fprintf(fp, "TIME:%04d/%02d/%02d-%02d:%02d:%02d PID:%ld\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min , tm.tm_sec, getpid()); va_start(ap, fmt); if(vfprintf(fp, fmt, ap)<0) return -2; va_end(ap); fprintf(fp, "\n"); fclose(fp); return (0);}void writeBinLog(char *filename, unsigned char *buf, int len, char *title){ FILE *fp=NULL; int i=0,j=0,sublen=0, addlen=0; unsigned char tmpbuf[101]; char fname[81]; memset(fname, 0x00, sizeof(fname)); sprintf(fname, "%s/log/%s", getenv("WORKDIR"), filename); filelog(fname, "%s TranCode[%s] :PackLen[%d]",title, TxnCode, len); fp = fopen(fname, "a+"); if(fp==NULL) { printf("writeBinLog file[%s] error\n", fname); return; } for (i=0; i<len; i++) { if(i%IVR_LLEN == 0) { if(i!=0) { memset(tmpbuf, 0x00, sizeof(tmpbuf)); memcpy(tmpbuf, buf+i-IVR_LLEN, IVR_LLEN); fprintf(fp, " "); for(j=0; j<IVR_LLEN; j++) { if(tmpbuf[j] <0x20) tmpbuf[j]='.'; fprintf(fp, "%c", tmpbuf[j]); } fprintf(fp, "\n"); } if(i+IVR_LLEN > len) sublen = len - i; else sublen = IVR_LLEN; fprintf(fp, "(%04d-%04d) ", i+1, i+sublen); } fprintf(fp, "%02X ", buf[i]); } /* sublen */ if(len%IVR_LLEN !=0) { sublen=len-len%IVR_LLEN; memset(tmpbuf, 0x00, sizeof(tmpbuf)); memcpy(tmpbuf, buf+sublen, len%IVR_LLEN); fprintf(fp, " "); addlen = IVR_LLEN - len%IVR_LLEN; fprintf(fp, "%*s",addlen*3, " "); for(j=0; j<(len%IVR_LLEN); j++) { if(tmpbuf[j] <0x20) tmpbuf[j]='.'; fprintf(fp, "%c", tmpbuf[j]); } fprintf(fp, "\n"); } fprintf(fp, "\n"); fclose(fp); return;}/*****************************//* record memory function *//*****************************/void memTrace(char *fname){ char filename[81]; char buf[31]; struct mallinfo m; sprintf(filename, "%s/log/%s", getenv("WORKDIR"), fname); m = mallinfo(); sprintf(buf, "MemUsed:[%d]", m.uordblks); filelog(filename, "%s", buf); return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -