00001 #define DV_DLL
00002 #include "md_device.h"
00003
00004 void dvLogger::init(const char *baseName) {
00005
00006 const char *defaultBasename = "auc-dv-main";
00007
00008 if (!strlen(baseName)) strcpy(mainLogFileName,defaultBasename);
00009 else strcpy(mainLogFileName,baseName);
00010 strcat(mainLogFileName,".log");
00011
00012 strcpy(dvLogWork,thisConfig->logPath);
00013 strcat(dvLogWork,"/");
00014 strcat(dvLogWork,mainLogFileName);
00015 strcpy(thisConfig->logPath,dvLogWork);
00016 logPath = dvLogWork;
00017
00018 logFile=fopen(logPath,"a");
00019
00020 }
00021 void dvLogger::logN(int n, const char *format, ...) {
00022 char buff[1024];
00023 void *args[4];
00024 int nthArg = 0;
00025 va_list lm;
00026
00027 va_start(lm,format);
00028 for (;nthArg<n;nthArg++) args[nthArg]=va_arg(lm,void *);
00029 va_end(lm);
00030
00031 switch(n) {
00032 case 0:
00033 strcpy(buff,format);
00034 break;
00035 case 1:
00036 sprintf(buff,format,args[0]);
00037 break;
00038 case 2:
00039 sprintf(buff,format,args[0],args[1]);
00040 break;
00041 case 3:
00042 sprintf(buff,format,args[0],args[1],args[2]);
00043 break;
00044 case 4:
00045 sprintf(buff,format,args[0],args[1],args[2],args[3]);
00046 break;
00047 case 5:
00048 sprintf(buff,format,args[0],args[1],args[2],args[3],args[4]);
00049 break;
00050 }
00051 logPrint("INFO dv_core",buff);
00052 }
00053 void dvLogger::logNdebug(int n, const char *format, ...) {
00054 char buff[1024];
00055 void *args[5];
00056 int nthArg = 0;
00057 va_list lm;
00058
00059 va_start(lm,format);
00060 for (;nthArg<n;nthArg++) args[nthArg]=va_arg(lm,void *);
00061 va_end(lm);
00062
00063 switch(n) {
00064 case 0:
00065 strcpy(buff,format);
00066 break;
00067 case 1:
00068 sprintf(buff,format,args[0]);
00069 break;
00070 case 2:
00071 sprintf(buff,format,args[0],args[1]);
00072 break;
00073 case 3:
00074 sprintf(buff,format,args[0],args[1],args[2]);
00075 break;
00076 case 4:
00077 sprintf(buff,format,args[0],args[1],args[2],args[3]);
00078 break;
00079 case 5:
00080 sprintf(buff,format,args[0],args[1],args[2],args[3],args[4]);
00081 break;
00082 }
00083 logPrint("WARN dv_dbug",buff);
00084 }
00085 void dvLogger::logNdebug(int m, int n, const char *format, ...) {
00086 char buff[1024];
00087 void *args[5];
00088 int nthArg = 0;
00089 va_list lm;
00090
00091 if (m < 0 || m > thisConfig->debugThreshold) return;
00092
00093 va_start(lm,format);
00094 for (;nthArg<n;nthArg++) args[nthArg]=va_arg(lm,void *);
00095 va_end(lm);
00096
00097 switch(n) {
00098 case 0:
00099 strcpy(buff,format);
00100 break;
00101 case 1:
00102 sprintf(buff,format,args[0]);
00103 break;
00104 case 2:
00105 sprintf(buff,format,args[0],args[1]);
00106 break;
00107 case 3:
00108 sprintf(buff,format,args[0],args[1],args[2]);
00109 break;
00110 case 4:
00111 sprintf(buff,format,args[0],args[1],args[2],args[3]);
00112 break;
00113 case 5:
00114 sprintf(buff,format,args[0],args[1],args[2],args[3],args[4]);
00115 break;
00116 }
00117 logPrint("WARN dv_dbug",buff);
00118 }
00119 void dvLogger::logNdev(int n, const char *format, ...) {
00120 char buff[1024];
00121 void *args[5];
00122 int nthArg = 0;
00123 va_list lm;
00124
00125 va_start(lm,format);
00126 for (;nthArg<n;nthArg++) args[nthArg]=va_arg(lm,void *);
00127 va_end(lm);
00128
00129 switch(n) {
00130 case 0:
00131 strcpy(buff,format);
00132 break;
00133 case 1:
00134 sprintf(buff,format,args[0]);
00135 break;
00136 case 2:
00137 sprintf(buff,format,args[0],args[1]);
00138 break;
00139 case 3:
00140 sprintf(buff,format,args[0],args[1],args[2]);
00141 break;
00142 case 4:
00143 sprintf(buff,format,args[0],args[1],args[2],args[3]);
00144 break;
00145 case 5:
00146 sprintf(buff,format,args[0],args[1],args[2],args[3],args[4]);
00147 break;
00148 }
00149 logPrint("WARN dv_devl",buff);
00150 }