📄 mylog.h
字号:
/*
* this file provide log functionality
* composed by antony
* 2003-1-1
* copyright reserved
*/
/*
*if PERFORMANCE is define check performance of program
*define MACRO for log
*/
#ifndef __MYLOG__H_
#define __MYLOG__H_
#define LOG_MAX_LEN 512
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <iostream>
#include <fstream>
using namespace std;
#ifdef PERFORMANCE
extern struct timeval timeTTStart; //记录时间
extern struct timeval timeTTNow;
inline int my_check_start()
{
return gettimeofday(&timeTTStart, NULL);
}
int my_check_start();
#define my_check_point(fmt,arg...) { \
char mylogTmpString[LOG_MAX_LEN], tmpTime[20]; \
gettimeofday(&timeTTNow,NULL); \
sprintf(mylogTmpString,fmt,##arg); \
sprintf(tmpTime,"sec[%02d]m_sec[%06d]", \
(timeTTNow.tv_usec - timeTTStart.tv_usec)>0? \
(timeTTNow.tv_sec - timeTTStart.tv_sec):(timeTTNow.tv_sec - timeTTStart.tv_sec-1), \
(timeTTNow.tv_usec - timeTTStart.tv_usec)>0?\
(timeTTNow.tv_usec - timeTTStart.tv_usec):(1000000+(timeTTNow.tv_usec - timeTTStart.tv_usec)) ); \
cout<<tmpTime<<"F["<<__FILE__<<"]["<<__FUNCTION__<<"]L["<<__LINE__<<"]" \
<<":["<<mylogTmpString<<"]"<<endl; \
}
#define mylog(fmt,arg...)
#define get_now_time(fmt,arg...)
#else
#define my_check_start()
#define my_check_point(fmt,arg...)
#define mylog(fmt,arg...) { \
char mylogTmpString[LOG_MAX_LEN], tmpTime[20];\
get_now_time(tmpTime ,sizeof(tmpTime)); \
sprintf(mylogTmpString,fmt,##arg);\
cout<<tmpTime<<"F["<<__FILE__<<"]["<<__FUNCTION__<<"]L["<<__LINE__<<"]"\
<<":["<<mylogTmpString<<"]"<<endl;\
}
inline int get_now_time( char *str, int len)
{
struct tm * lt;
time_t tick;
char str_time[20];
tick=time(NULL);
lt=localtime(&tick);
int len_time;
sprintf(str_time,"[%02d:%02d:%02d:%02d]",lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec);
if(len <(len_time=strlen(str_time)))
{
str[0] = 0;
return 0;
}
else
{
strcpy(str,str_time);
return len_time;
}
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -