void WriteSysLog(char *str) { char buf[512]; long MAXLEN = 10*1024*1024;//10MB time_t timep; FILE *fp = NULL; struct tm *p; time(&timep); p = localtime(&timep); memset(buf,0,sizeof(buf)); sprintf(buf,"%d-%d-%d %d:%d:%d : ",(1900+p->tm_year),(1+p->tm_mon),\ p->tm_mday,p->tm_hour, p->tm_min, p->tm_sec); //星期p->tm_wday strcat(buf,str); strcat(buf,"\r\n"); fp = fopen("./syslog.log","r"); if(fp==NULL) { fp = fopen("./syslog.log","w+"); } else { fseek(fp,0,2); if(ftell(fp) >= MAXLEN) { fclose(fp); fp = fopen("./syslog.log","w+"); //大于10MB则清空原日志文件 } else { fclose(fp); fp = fopen("./syslog.log","a"); } } fwrite(buf,1,strlen(buf),fp); fflush(fp); fsync(fileno(fp)); fclose(fp); }
http://zhidao.baidu.com/link?url=95LnHGSG9U4RmHQgen9G_z4Y9tBqoE6La7m4uFWuoVVU63zl6OPj7W0tXfq9GfrGnZA0Q9CJyMR3SiTfIwZgV_