time函数使用

void logInfo(const char * fn,int line,int level,int uid,int pid,const char* fmt,...)

    if(NULL == fmt)

   {

       return;

   }

  if(level < 3)

 {

   return;

 }

lockUser.lock();

time_t cur_time = 0;

time(&cur_time);

struct tm now;

localtime_r(&cur_time,&now);

int year = now.tm_year +1900;

int month = now.tm_mom + 1;

int day = now.tm_mday;


char fileN[128];

int nRet = 0;

memset(fileN,,0x00,sizeof(fileN));

snprintf(fileN,sizeof(fileN)-1,"%s/logUser/User-%04d-%02d-%02d.log",log_dir_path,year,month,day);

memset(&sbuf,0x00,sizeof(sbuf));

if(stat("./logUser",&sbuf)<0)

{

 mkdir("./logUser",0744);

}

nRet = stat(fileN,&sbuf);

if((year !=year_)||(month !=month_)||(nRet<0)||(day != day_))

{

 year_ = year;

month_ = month;

day_ = day;

if(log_file_log.is_open())

{

  log_file_log.close();

}

log_file_log.open(fileN,std::ios_base::app);

}

if(!log_file_log.is_open())

{

 log_file_log.open(fileN,std::ios_base::app);

}


memset(str_time,0x00,sizeof(str_time));

snprintf(str_time,sizeof(str_time)-1,"%04d%02d%02d%02d:%02d:%02d",now.tm_year+1900,now.tm_month+1,now.tm_day,now.tm_hour,now.tm_min,now.tm_sec);

}

char buff[2048];

memset(&buff,0x00,sizeof(buff));

snprintf(buff,sizeof(buff),"<%s>[%20s:%05d][level:%03d]"[pid:%05d][uid:%010d]msg)",str_time,fn,line,level,pid,uid;


try{

   va_list ap;

  va_start(ap,fmt);

 int pref = strlen(buff);

vsnprintf(buff+pref,sizeof(buff)-pref,fmt,ap);

va_end(ap);

}

catch(...)

{

 log_file_log<<buff<<std::endl;

lockUser.unlock();

return;

}

log_file_log<<buff<<std::endl;

lockUser_unLock();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值