linux c下log输出代码模板示例代码

吾爱主题 阅读:153 2024-04-05 13:56:05 评论:0

前言

本文主要介绍了关于linux c下log输出代码模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

模板

模本分为两个文件:log.c和log.h.

log.c

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 /** log.c **/ #include <unistd.h> #include "log.h"   // log文件路径 #define filepath "./ps_com_log.log"   //设定时间 static char * settime( char * time_s){   time_t timer= time (NULL);   strftime (time_s, 20, "%Y-%m-%d %H:%M:%S" , localtime (&timer));   return time_s; }   /*   *打印   * */ static int PrintfLog( char * logText, char * string){   FILE * fd = NULL;   char s[1024];   char tmp[256];     //使用追加方式打开文件   fd = fopen (filepath, "a+" );   if (fd == NULL){    return -1;   }     memset (s, 0, sizeof (s));   memset (tmp, 0, sizeof (tmp));     sprintf (tmp, "*****[pid=%d]:[" , getpid());   strcpy (s, tmp);     memset (tmp, 0, sizeof (tmp));   settime(tmp);   strcat (s, tmp);     strcat (s, "]*****" );   fprintf (fd, "%s" , s);     fprintf (fd, "*[%s]*****:\n" ,logText);   fprintf (fd, "%s\n" ,string);   fclose (fd); }     /*   *日志写入   * */ void LogWrite( char *logText, char *string) {   //[为支持多线程需要加锁] pthread_mutex_lock(&mutex_log); //lock.   //打印日志信息   PrintfLog(logText, string);                      //[为支持多线程需要加锁] pthread_mutex_unlock(&mutex_log); //unlock.            }

log.h

?
1 2 3 4 5 6 7 8 9 10 #ifndef __LOG_H__ #define __LOG_H__ #include <stdio.h> #include <string.h> #include <time.h>     void LogWrite( char * logText, char *string);   #endif /* __LOG_H__ */

测试文件

既然有了log输出功能,下面就简单测试一下:

?
1 2 3 4 5 6 7 8 9 10 11 #include "stdio.h" #include "log.h" int main( int argv, char **argc){   printf ( "test\n" );   LogWrite( "INFO" , "Hello World!" );   LogWrite( "error" , "H.e.l.l.o W.o.r.l.d!" );   LogWrite( "mint" , "H e l l o W o r l d!" );   LogWrite( "iout" , "Hallo World!" );     return 0; }

以上代码很简单,不在过多解释。

运行结果:

*****[pid=15971]:[2018-12-05 14:24:21]******[INFO]*****:
Hello World!
*****[pid=15971]:[2018-12-05 14:24:21]******[error]*****:
H.e.l.l.o W.o.r.l.d!
*****[pid=15971]:[2018-12-05 14:24:21]******[mint]*****:
H e l l o W o r l d!
*****[pid=15971]:[2018-12-05 14:24:21]******[iout]*****:
Hallo World!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://www.jianshu.com/p/ba64481602ca

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容