写入日志文件

做项目的时候经常需要把一些操作或者是出错记录写入日志文件。
要想输出便于阅读的时间格式,至少有两种方法:
  1. time_t  now;
    time(&now);
    char *msg=ctime(&now);
  2. time_t  now;
    time(&now);
    char *msg=asctime(gmtime(&now));
下面这小段代码的功能是把指定的字符串写入文件log,同时注明时间。
log文件里的内容:
Fri Feb 18 12:56:39 2011发生错误A
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

void debug_log(char* debug_info){
    char* now;
    time_t t;
    time(&t);
    now=asctime(gmtime(&t));
    
    int fd;
    fd=open("log",O_CREAT|O_WRONLY|O_APPEND,0640);
    write(fd,now,24);
    write(fd,"\t",1);
    write(fd,debug_info,strlen(debug_info));
    write(fd,"\n",1);
    close(fd);
}

int main(){
    debug_log("发生错误A");
    return 0;
}

 

posted @ 2011-02-18 21:01  张朝阳讲go语言  阅读(393)  评论(0)    收藏  举报