程序调试之打印日志

#include <sys/stat.h>
#include <time.h>
#include <sys/time.h>
#include <stdio.h>

void df_debug(const char *fmt, ...)
{
    va_list args;
    FILE *fdb;
    struct tm *tstruct;
    time_t tsec;
    struct stat ST;
   
    if (!access(DEBUG_FLAG_FILE, F_OK))
    {
        if (stat(DEBUG_MSG_FILE, &ST) == 0)
        {
            /* 文件大于2M重写,小于追加 */
            if (ST.st_size > 2* 1024 * 1024)
                fdb = fopen(DEBUG_MSG_FILE, "w");
            else
                fdb = fopen(DEBUG_MSG_FILE, "a");

        }
        /* 调试日志文件不存在,重新创建一个 */
        else
        {
            // Some error happen, ie: file not exist or else
            fdb = fopen(DEBUG_MSG_FILE, "w+");
        }

        if (!fdb)
            return;
        tsec = time(NULL);
        tstruct = localtime(&tsec);

        fprintf(fdb, "[%02d:%02d:%02d]", tstruct->tm_hour,
            tstruct->tm_min, tstruct->tm_sec);

        va_start(args, fmt);
        vfprintf(fdb, fmt, args);
        va_end(args);
        fclose(fdb);
    }
    return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值