c++实现 日志记录
来源:互联网 发布:js中跳转到网站 编辑:程序博客网 时间:2024/05/11 21:33
// logtest.cpp : 定义控制台应用程序的入口点。///************************************************************************//* author:郑金玮time:2014/07/03desc:implement log instance in svc pro*//************************************************************************/#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>#define DISALLOW_COPY_ASSIGN(typename) \private: \typename(const typename&); \typename operator = (const typename&);class CLog{DISALLOW_COPY_ASSIGN(CLog);public:CLog();~CLog();static CLog* getinstance();bool open(const char szFile[]);void log(const char* fmt,...);private:FILE* m_pfile;};#define LOGINSTANCE() CLog::getinstance()CLog::CLog(){}CLog::~CLog(){if (fclose(m_pfile) !=0){return;}}CLog* CLog::getinstance() {static CLog _logInst;return &_logInst;}bool CLog::open(const char szFile[]){if ((m_pfile = fopen(szFile,"a"))== NULL){return false;}return true;}void CLog::log(const char* fmt,...){va_list ap; va_start(ap, fmt);//将ap指向fmt后的第一个参数 char _strtemp[1024];memset(_strtemp,0,1024);while(*fmt){if(*fmt == '%'){switch(*(++fmt)){case 'd':{char _str[256];sprintf(_str,"%d",va_arg(ap, int));strcat(_strtemp,_str); }break;case 'f':{char _str[256];double _dval=va_arg(ap, double);_gcvt(_dval,8,_str);strcat(_strtemp,_str); }break;case 's':{strcat(_strtemp,va_arg(ap, char*)); }break;default:break;}}else{char _str[256];sprintf(_str,"%c",*fmt);strcat(_strtemp,_str);}fmt ++;}printf("\n");printf(_strtemp);printf("\n");fputs("\n",m_pfile);fputs(_strtemp,m_pfile);fputs("\n",m_pfile);va_end(ap);}#define PRINTLOG LOGINSTANCE()->log int _tmain(int argc, _TCHAR* argv[]) { LOGINSTANCE()->open("..//test.log"); //LOGINSTANCE()->log("%s-welcome to beijing---%d------%f","zhengjinwei ",23,23.11); PRINTLOG("%s: welcome to beijing---%d------%f","zhengjinwei ",23,23.11);return 0; }
0 0
- c简单实现日志记录
- 用C实现日志文件的记录
- c++实现 日志记录
- 中国象棋实现 --- 记录日志
- log4j实现日志记录
- Windows 日志记录类(c++)
- C#WinCE 记录日志文件
- C/C++/Objective-C 日志记录功能模块
- WinCE程序C/C++/C#实现带时间标记的日志记录
- WinCE程序C/C++/C#实现带时间标记的日志记录
- 利用触发器实现日志记录
- 动态代理实现日志记录
- PHP 日志记录功能实现
- 通用日志记录组件实现
- Spring AOP实现日志记录
- JAVA实现通用日志记录
- Spring AOP实现日志记录
- lua实现详细日志记录
- eclipse视图下看不到classes目录的原因
- Netty In Action 读书笔记 - 第四章 传输
- Android开源项目第一篇——个性化控件(View)篇
- 中国成品油价为啥会比美国贵30%?
- 无缝集成统一的控件系统来开发各种网络应用程序WebUI Studio.NET
- c++实现 日志记录
- OGR笔记
- Struts2结合EasyUI的combobox的二级联动json数组的返回
- AE cs4无法安装的故障
- div+css总结—FF下div不设置高度背景颜色或外边框不能显示的解决方法
- C#函数重载
- 顺序生梁呢?塞删除瓢
- Ext.Direct最新版源码下载地址
- javascript实现文字隐藏 展开收起