简化了glog,只保留了写日志文件的功能,只是改写了linux版本,win版本未改写,可以用
LOG(INFO)0 && filename[pos] != PathSplitChar)
pos--;
strncpy(_appFolder,filename,pos+1);
lend = strlen(destFolder);
posd = lend-1;
if(destFolder[lend-1] != PathSplitChar) {
//has prefix
while(posd >0 && destFolder[posd] != PathSplitChar)
posd--;
}
if(destFolder[0] == '.' && destFolder[1] == PathSplitChar){
strncpy(_destFolder,filename,pos+1);
start = 2;
} else{
pos = 8;
strcpy(_destFolder,_defaltFolder);
if(destFolder[0] != PathSplitChar){
start = 0;
}else{
start = 1;
}
}
strncpy(_destFolder+pos+1,destFolder+start,posd-start+1);
strncpy(_destPrefix,filename,pos+1);
strncpy(_destPrefix+pos+1,destFolder+start,lend-start);
}
void InitLogging(const char* filename,LogLevel minlevel,const char* destFolder)
{
InitPaths(filename,destFolder);
_destLevel = minlevel;
}
static string GetLocalDate(void)
{
time_t t = time(0);
tm *ld;
char tmp[64] = "";
ld=localtime(&t);
strftime(tmp,sizeof(tmp),"%Y-%m-%d",ld);
return string(tmp);
}
static string GetCurTime(void)
{
time_t t = time(0);
tm *ld;
char tmp[64] = "";
ld=localtime(&t);
strftime(tmp,sizeof(tmp),"%Y-%m-%d %H:%M:%S",ld);
return string(tmp);
}
Logger::Logger(LogLevel level,char * folder,char * prefix)
:level(level)
{
std::string path;
path.append(prefix);
path.append(GetLocalDate());
path.append(".log");
FileHelper::CreateDir(folder);
logPrefix.append(prefix);
logPath = path;
logFile.open(path.c_str(),ios::app|ios::out);
logFile