linux c打印日志文件,linux c下log输出代码模板示例代码
前言
本文主要介绍了关于linux c下log输出代码模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
模板
模本分为两个文件:log.c和log.h.
log.c
/** log.c **/
#include
#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
#ifndef __LOG_H__
#define __LOG_H__
#include
#include
#include
void LogWrite(char * logText,char *string);
#endif /* __LOG_H__ */
测试文件
既然有了log输出功能,下面就简单测试一下:
#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!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
linux c打印日志文件,linux c下log输出代码模板示例代码相关推荐
- Linux系统.xsesion日志文件,linux系统日志
##日志记录系统每天发生的各种各样的事情,比如监控系统的状况,排查系统的故障等.你可以通过日志来检查错误发生的原因,或者受到***时留下的痕迹.日志的主要功能是审计和监测,还有实时的监测系统状态,监测 ...
- linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...
- ## 在Centos7.8上使用crond服务定时执行js脚本并将脚本执行的输出记录日志 1. 安装wget 2. wget https://npm.taobao.org/mirrors/node ...
- linux 启动 不打印日志文件,Linux nohup不输出日志文件的方法
最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序会不断的输出错误信息,结果导致程序运行一天下来日志文件直接占满磁盘,解决方法就是不再输出日志文件,命令如下: 只输出错误信息到日志文件: ...
- linux开关机日志文件,Linux开关机命令(shutdown,reboot,halt,init)
命令简介 shutdown,poweroff,reboot,halt,init都可以进行关机,大致用法. /sbin/halt [-n] [-w] [-d] [-f] [-i] [-p] [-h] / ...
- 文件服务器 s3,AWS S3日志文件通过服务器上传到elk(示例代码)
通过elk查看s3产生的大量日志 首先理清思路 首先从s3上用s3cmd命令将logs同步下来 再将日志写到文件 再通过elk展示出来 一.安装s3cmd命令 S3cmd工具的安装与简单使用: 参考文 ...
- 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全
如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 ...
- 【引用】Linux常用的日志文件解说及常用系统命令
一.前言 想成功地管理任何系统的关键之一,是要知道系统中正在发生什么事.Linux 中提供了异常日志,并且日志的细节是可配置的,都以明文形式存储,所以用户不需要特殊的工具就可以搜索和阅读它们.还可以编 ...
- Linux中查看日志文件的正确姿势,求你别tail走天下了!
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了.尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是 cat,tail,vi(或 ...
- Linux 实时查看日志文件的 4 种方法
来源 | GOPS 全球运维大会 2021 · 上海站 在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令了. 1. ...
最新文章
- 94年出生,6篇SCI,一作发Science,你还不放下手上玩的泥巴
- 搜索和其他机器学习问题有什么不同?
- 网站优化——网站索引量骤降从网站优化找原因
- Python 基础 - Day 1 Assignment - Login 模拟登陆
- C语言 | C语言中main函数:int main( int argc, char* argv[] ) 中arg和argv参数的解析及调试
- mysql 存储时间 时间戳_具体场景下MySQL中用“时间戳”存储时间的问题
- C++ 网络多线程编程
- WorkerMan源码分析 - 实现最简单的原型
- matlab2013a文件安装密钥,Matlab2013a软件安装教程
- Hadoop权威指南(第三版)笔记——MapReduce
- vi编辑器替换字符串命令
- 汇编语言:将ASCⅡ码表示的十进制数转换为二进制数/十六进制数
- LaTeX:斜线表头的表格制作
- 接连两天,持续霸榜 GitHub,这款 WiFi 开源神器我爱了!
- H5微信授权登录 H5支付 外部浏览器微信支付 前端一个函数搞
- SD卡和文件系统那些事儿
- 元宇宙开发者的乐园 解析元宇宙协议Caduceus生态价值
- 电信ZNHG60光猫信息虚标
- sso单点登录与Jsonp
- 一文带你了解Kafka【一看就懂】
热门文章
- python 判断线程状态_Python线程指南
- FatFs 之一 R0.13c版源码目录文件、函数、全配置项详解及移植说明
- cfree运行程序错误的原因_ARM Cortex-M 系列 MCU错误代码自动追踪库的使用分享
- gdb调试时查看内存
- 理解:TI C6000 数据存储处理与性能优化
- WebRTC / Jitsi / 多人视频通讯常用架构 Mesh / MCU / SFU
- 数据结构与算法 / 二叉搜索树(Binary Search Tree)
- c++ 数组置0_0基础学习C语言第七章:数组(1)
- Linux虚拟内存映射分析以及CMA测试 - 以SSD202为例
- MT7688 坑爹的 SPI Master 半双工全双工问题