Linux往log中写日志

void writelog(const char* log)
{
	time_t tDate;
	struct tm* eventTime;
	time(&tDate);//得到系统当前时间
	//将time_数据类型转换为struct tm结构
	eventTime = localtime(&tDate);
	//年,以1900年作为起始值。如果当前年为1991,则year变量=1
	int year = eventTime->tm_year + 1900;
	//月:tm_mon从0开始计算
	int month = eventTime->tm_mon + 1;
	//日:
	int day = eventTime->tm_mday;
	//小时
	int hour = eventTime->tm_hour;
	//分钟
	int minute = eventTime->tm_min;
	//秒
	int second = eventTime->tm_sec;

	char sDate[16];
	sprintf(sDate, "%04d-%02d-%02d ", year,month,day);
	char sTime[16];
	sprintf(sTime, "%02d:%02d:%02d", hour, minute, second);
	char s[1024];
	sprintf(s, "%s %s %s\n", sDate, sTime, log);

	FILE* fp = fopen("my.log", "a+");
	if (fp==NULL)
	{
		printf("log write error :%s", strerror(errno));
	}
	else
	{
		fputs(s, fp);
		fclose(fp);
	}
	return;
}

  

原文地址:https://www.cnblogs.com/caoruipeng/p/11830734.html

时间: 2024-08-06 09:20:31

Linux往log中写日志的相关文章

C# 简单的往txt中写日志,调试时很有用

原文 http://blog.csdn.net/hejialin666/article/details/6106648 有些程序在调试时很难抓住断点(如服务程序),有些程序需要循环无数次,要看每一次或某一次的结果,等等吧! 那就来个简单的写日志程序吧,txt文件生成在debug目录里 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Windows.Fo

python中写日志log

import nnlog log = nnlog.Logger('test.log',level='error',backCount=5,when='D') #默认是debug级别最低的,默认保留5天的backCount when='D' # D H M S D=天,H=小时,M=分钟 S=秒 log.debug('返回结果...')#一些调试信息,看变量值这些log.info('info...') #一些提示信息log.warning('waring')#出警告了log.error('erro

NodeJS写日志_Log4js使用详解

今天和大家分享一下NodeJS中写日志的一个常用第三方包:Log4js. 跟随主流Blog特色,先简单介绍下Log4js的基本信息.介绍Log4js之前,需要先说一下Log4***,Log4***是由Apache提供的多平台下多语言下日志书写扩展包,目的很简单就是使日志书写更加方便简洁,同时对不同的业务日志能够进行灵活的分文件记录,同时也包含着详细的等级配置,为之后分级输出,检索,及程序自动解析提供更加便捷的支持(一家之言,非官方描述,领会精神).Log4***有很多语言的实现,比如Log4cp

.NetCore中的日志(1)日志组件解析

.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包含控制台.文本文件.数据库,一般都是创建全局的Logger,在需要记录日志的地方调用相应的Logger输出至相应目标.遇到输出目标多了有时候也感觉挺麻烦的,不过也还能接受.开始学习.NetCore后接触到了日志记录框架(Logging组件),虽然完全可以用之前的方式记录日志,不过应该使用更通用的方式

C# 超高速高性能写日志 代码开源

1.需求 需求很简单,就是在C#开发中高速写日志.比如在高并发,高流量的地方需要写日志.我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的. 2.解决方案 2.1.简单原理说明 使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上,这样就可以高速高性能的写日志了.因为速度慢的地方我们分离出来了,也就是说程序在把日志扔给列队后,程序的日志部分就算完成了,后面操作磁盘耗时的部分程序是不需要关心的,由另一个线程操作. 俗话说,鱼和熊掌

程序员的修养 -- 如何写日志(logging)

  在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方.写好程序的日志可以帮助我们大大减轻后期维护压力. 在实际的工作中,开发人员往往迫于的巨大时间压力,而写日志又是一个非常繁琐的事情,往往没有引起足够的重视. 如果我们的开发人员在一开始就养成一个良好的习惯将非常有帮助.并且在实际的工作中也应当为写日志预留足够的时间.   我们为什要写日志呢? 一般来讲,我们在程序中记录日志出自下面几个方面的需求.   * 记录用户操作的审计日志,甚至有的时候就是监管部门的要求. * 快速定位问题的根

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

C++、Java、JavaScript中的日志(log)

编程思想之日志记录 什么是log? 相信你一定用日记写过点滴心事,或是用空间.微信.微博刷着动态,记录你每天的喜怒哀乐!在程序中也有一种类似的东西,记录着他主人(应用程序)每天的行踪,他叫日志(log).日记--是人类生活的记事本,日志(log)--是程序运行状况的记事本. 顾名思义,日志(log,后面均以log称之)就是用来记录程序每天的运行状况的,比如程序出现异常的情况,或是某个关键点,功某个重要的数据或交易等.这里的每天不是说每天一记,可以是伴随着程序运行的始终,只要程序在运行着就一直在记

【Linux笔记】如何利用logrotate工具自动切分滚动中的日志文件

在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或date切割)的日志库,则日志文件会很快增长到G级别.单机操作大文件对后续跟进日志来说非常不方便. 本文介绍如何利用logrotate这个工具来在应用程序外部切分日志. 1. logrotate是什么 logrotate是大多数linux系统自带的日志切割工具,在shell终端输入"man logrotate"可查看其简介(部分摘出如下): logrotate is designed to