设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

linux环境应用程序LOG日志打印(C语言)

2013-08-20 09:30:00.0 Linux应用开发 CLOG日志输出 Linux  
导读:下面是前段时间做项目用到的一个输出LOG日志的代码,每个文件最多记录10W行,超过10W行,将当前日志文件重命名,重新再打开。直接看代码吧,很简单!int InitTCpRtpLog(){ char log[256]; mkdir(TCP_RTP_LOG_PATH, 0755); snprintf(log, sizeof(log), "%s/%s", TCP_RTP_LOG_PA...。。。

下面是前段时间做项目用到的一个输出LOG日志的代码,每个文件最多记录10W行,超过10W行,将当前日志文件重命名,重新再打开。直接看代码吧,很简单!

int InitTCpRtpLog(){    char log[256];    mkdir(TCP_RTP_LOG_PATH, 0755);    snprintf(log, sizeof(log), "%s/%s", TCP_RTP_LOG_PATH, TCP_RTP_LOG_FILE);    vTcpRtpLogHandle = fopen((char*)log, "a");    if (vTcpRtpLogHandle){            PrintMsgTrace("###%s(),creat log file %s sucessfull!\n",__FUNCTION__, log);        return 0;    }else{        PrintMsgTrace("###$s(), Fail openning event log file (errno=%s)\n", __FUNCTION__, strerror(errno));        return  - 1;    }}static int _rebuildTcpRtpLogFiles(){    char tmp[256];    char tmp2[256];    char date[128];    time_t now;    struct tm ptm;        if (vTcpRtpLogHandle)    {        fclose(vTcpRtpLogHandle);        time(&now);        localtime_r(&now,&ptm);        strftime((char *)date, 128, "_%F_%T", &ptm);        snprintf(tmp, sizeof(tmp), "%s/%s", TCP_RTP_LOG_PATH, TCP_RTP_LOG_FILE);        snprintf(tmp2, sizeof(tmp2), "%s_%s.log", tmp,date);        remove(tmp2);        rename(tmp, tmp2);        vTcpRtpLogHandle = fopen((char*)tmp, "a");    }    return 1;}void LogTcpRtp(char *p_fmt, ...){    char date[256];    time_t now;    struct tm ptm;    va_list ap;    if (!vTcpRtpLogHandle){        return;    }    pthread_mutex_lock(&_vTcpRtpLogMutex);    time(&now);                   // Gets the system time    if (localtime_r(&now, &ptm))    {        strftime(date, sizeof (date), "%F %T", &ptm);        fprintf(vTcpRtpLogHandle, "[ %s ]:", date);        va_start(ap, p_fmt);        vfprintf(vTcpRtpLogHandle, p_fmt, ap);        va_end(ap);        fflush(vTcpRtpLogHandle);        _vCurTcpRtpLogNum++;        if (_vCurTcpRtpLogNum > MAX_RTP_TCP_NUMBER){            _rebuildTcpRtpLogFiles();            _vCurTcpRtpLogNum = 0;        }    }    pthread_mutex_unlock(&_vTcpRtpLogMutex);}


 

(编辑: jsh13417)

网友评论
相关文章