#ifndef _LOG_H_ #define _LOG_H_ #define LOG_MSG(A) Log_Two(__FILE__, __func__, __LINE__, A) #define LOG_TWO(A, ...) Log_Two(__FILE__, __func__, __LINE__, A, __VA_ARGS__) #define LOG(A, ...) Log_One(__FILE__, __func__, __LINE__, A, __VA_ARGS__) #define LOG_NET(A, ...) Log_Net(__FILE__, __func__, __LINE__, A, __VA_ARGS__) #define LOG_MAX_LINE 1024 #define LOG_MIN_LIN 256 #define LOG_CLOSE 0 #define LOG_OPEN 1 #define LOG_LEVEL_ONE 1 #define LOG_LEVEL_TWO 2 #define LOG_LEVEL_NET 3 typedef struct { int iLogFlag; int iLogLevel; }STC_LOGINFO; extern STC_LOGINFO g_stcLogInfo; void Log_SetAttribute(int iLogFlag, int iLogLevel); void Log_MutexInit(); void Log_MutexDestory(); void Log_Init(char *pcWorkPath); void Log_One(const char* pcFile, const char* pcFunc, int iLine, char* pcLogBuf, ...); void Log_Two(const char* pcFile, const char* pcFunc, int iLine, char* pcLogBuf, ...); void Log_Net(const char* pcFile, const char* pcFunc, int iLine, char* pcLogBuf, ...); void Log_Msg(char* pcLogBuf, ...); void LOG_PrintHex(char* pcTitle, unsigned char* ucData, unsigned int uiDataLen); #endif