免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1504 | 回复: 0
打印 上一主题 下一主题

minicom中日志文件的实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-27 23:50 |只看该作者 |倒序浏览
最近在做MODEM串口编程,对于日志一直没有想到好的方法去实现,今天偶尔看到MINICOM源码中对于写一行日志的实现方法,顿感很妙,用了和printf相似的方法,很方便,贴出如下:
#include
void do_log(char *line, ...)
{
#ifdef LOGFILE
/* Write a line to the log file.   jl 22.06.97 */
  FILE *logfile;
#ifdef _HAVE_MACROS
  char *logname = pfix_home(logfname);
#else
  char *logname = logfname;
#endif
  struct tm *ptr;
  time_t    ttime;
  va_list   ap;
  if (logfname[0] == 0) return;
  logfile = fopen(logname,"a");
  if (!logfile) return;
  va_start(ap, line);
  ttime=time(NULL);
  ptr=localtime(&ttime);
  fprintf(logfile,"%04d%02d%02d %02d:%02d:%02d ",
          (ptr->tm_year)+1900,(ptr->tm_mon)+1,ptr->tm_mday,
          ptr->tm_hour,ptr->tm_min,ptr->tm_sec);
  vfprintf(logfile, line, ap);
  fprintf(logfile, "\n");
  fclose(logfile);
#else
  /* dummy, don't do anything */
#endif
}
在调用时候,与使用printf一样方便,是不是很强大,呵呵,而且加入了记录日志的时间。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105037/showart_2080467.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP