美文网首页
C语言实现log日志的写入

C语言实现log日志的写入

作者: 路飞仙贝 | 来源:发表于2020-02-11 16:25 被阅读0次

    转载自 https://blog.csdn.net/subaofa/article/details/53609857

    模拟log日志的写入。
    调用write_log(pFile, format, ...);方法,即可写入日志,默认在行首加入时间显示。
    代码如下:log.c

    #include <stdio.h>
    #include <stdarg.h>
    #include <time.h>
    
    int write_log (FILE* pFile, const char *format, ...) {
        va_list arg;
        int done;
    
        va_start (arg, format);
        //done = vfprintf (stdout, format, arg);
    
        time_t time_log = time(NULL);
        struct tm* tm_log = localtime(&time_log);
        fprintf(pFile, "%04d-%02d-%02d %02d:%02d:%02d ", tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday, tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);
    
        done = vfprintf (pFile, format, arg);
        va_end (arg);
    
        fflush(pFile);
        return done;
    }
    
    int main() {
        FILE* pFile = fopen("123.txt", "a");
        write_log(pFile, "%s %d %f\n", "is running", 10, 55.55);
        fclose(pFile);
    
        return 0;
    }
    

    编译运行:
    gcc log.c -o log
    ./log

    返回结果:cat 123.txt
    2016-12-13 13:10:02 is running 10 55.550000
    2016-12-13 13:10:04 is running 10 55.550000
    2016-12-13 13:10:04 is running 10 55.550000

    相关文章

      网友评论

          本文标题:C语言实现log日志的写入

          本文链接:https://www.haomeiwen.com/subject/pdmxfhtx.html