linux c写入日志文件系统时间的问题

linux c写入日志文件系统时间的问题,第1张

用我写的吧 实测过了的 可以直接使用

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)

}

普通数据还好,如果你是DBA,每天几个G甚至几百个G甚至几个T,你每帧加个标签,你觉得合适么?

处理数据首先考虑的不是好恶和个人习惯

恕我冒昧,您这个根本没有必要。

分省了吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8513650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存