#include #include #include #include #include #include #include #include #include #include "../ShareMemory/shmMem.h" #include "../Define/define.h" #include "log.h" //------------------------------------------------------------------------------ #define YES 1 #define NO 0 //------------------------------------------------------------------------------ int StoreLogMsg(const char *fmt, ...) { char Buf[4096 + 256] = {0}; char buffer[4096] = {0}; int rc = -1; va_list args; struct timeb SeqEndTime; struct tm *tm; struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData(); va_start(args, fmt); rc = vsnprintf(buffer, sizeof(buffer), fmt, args); va_end(args); ftime(&SeqEndTime); SeqEndTime.time = time(NULL); tm = localtime(&SeqEndTime.time); if (pSysConfig->SwitchDebugFlag == YES) { sprintf(Buf, "%02d:%02d:%02d:%03d - %s", tm->tm_hour, tm->tm_min, tm->tm_sec, SeqEndTime.millitm, buffer); printf("%s", Buf); } else { sprintf(Buf, "echo \"%04d-%02d-%02d %02d:%02d:%02d:%03d - %s\" >> /Storage/SystemLog/[%04d.%02d]SystemLog", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, SeqEndTime.millitm, buffer, tm->tm_year + 1900, tm->tm_mon + 1); system(Buf); } return rc; } int StoreEventLogMsg(const char *fmt, ...) { char Buf[4096 + 256]; char buffer[4096]; time_t CurrentTime; struct tm *tm; struct timeval tv; va_list args; struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData(); va_start(args, fmt); int rc = vsnprintf(buffer, sizeof(buffer), fmt, args); va_end(args); memset(Buf, 0, sizeof(Buf)); CurrentTime = time(NULL); tm = localtime(&CurrentTime); gettimeofday(&tv, NULL); // get microseconds, 10^-6 if ((pSysConfig->ModelName != NULL) && (pSysConfig->SerialNumber != NULL) && (strlen((char *)pSysConfig->ModelName) >= 14)) { sprintf(Buf, "echo -n \"[%04d.%02d.%02d %02d:%02d:%02d.%06ld]%s\" >> /Storage/EventLog/[%04d.%02d]%s_%s_EventLog", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, tv.tv_usec, buffer, tm->tm_year + 1900, tm->tm_mon + 1, pSysConfig->ModelName, pSysConfig->SerialNumber); } else { sprintf(Buf, "echo -n \"[%04d.%02d.%02d %02d:%02d:%02d.%06ld]%s\" >> /Storage/EventLog/[%04d.%02d]EventLog", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, tv.tv_usec, buffer, tm->tm_year + 1900, tm->tm_mon + 1); } #ifdef SystemLogMessage system(Buf); #endif //SystemLogMessage #ifdef ConsloePrintLog printf("[%04d.%02d.%02d %02d:%02d:%02d.%06ld]%s", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, tv.tv_usec, buffer); #endif //ConsloePrintLog return rc; }