C++ 简单的日志类
来源:互联网 发布:获取json的key和value 编辑:程序博客网 时间:2024/05/18 00:56
/*简单的日志记录类. (日志而已,何必那么复杂!!!)W.J.Chang 2013.12.13说明:(EasyLog.h)1, 简单的单件实现(自动垃圾回收)2, 使用方法:EasyLog::Inst()->Log("Run...");3, 日志记录结果:Run...[2013.12.13 16:38:42 Friday]*/#pragma once#ifndef EASY_LOG_H_8080#define EASY_LOG_H_8080#include <memory>#include <ctime>#include <iostream>#include <fstream>class EasyLog{public:static EasyLog * Inst(){if (0 == _instance.get()){_instance.reset(new EasyLog);}return _instance.get();}void Log(std::string msg); // 写日志的方法private:EasyLog(void){}virtual ~EasyLog(void){}friend class std::auto_ptr<EasyLog>;static std::auto_ptr<EasyLog> _instance;};std::auto_ptr<EasyLog> EasyLog::_instance;void EasyLog::Log(std::string loginfo) {std::ofstream ofs;time_t t = time(0);char tmp[64];strftime(tmp, sizeof(tmp), "\t[%Y.%m.%d %X %A]", localtime(&t));ofs.open("EasyLog.log", std::ofstream::app);ofs.write(loginfo.c_str(), loginfo.size());ofs << tmp << '\n';ofs.close();}#endif
用法如下:
#include "EasyLog.h"int main(){EasyLog::Inst()->Log("Run...");}不只是main函数中,任何地方只要include头文件就可以用。
主要是辅助调试,特别是写dll程序的时候比较实用。可以加个宏控制。在发布的时候关掉日志功能。
#include "EasyLog.h"#define EASYLOG 1int main(){#if EASYLOGEasyLog::Inst()->Log("Run...");#endif}
4 0
- [C/C++]简单的C++日志操作类
- 简单的日志文件操作类 (C#)
- 简单的日志类
- 【C#】最简单的写日志DEMO
- C语言简单的日志宏打印
- C语言实现简单的日志封装
- log日志:简单的log日志输出(C++)
- 一个简单的日志类
- 一个简单的日志类
- 简单的日志记录类。
- 超简单的日志类
- C++ 简单的日志类
- 简单的记事本日志类
- C语言简单实现日志功能的的题目
- zlog 纯C的日志函数库的简单使用方法
- Windows下一个简单的日志系统的C代码实现
- C程序的日志类
- 一个简单用C语言实现的日志函数
- Python 默认参数值
- textbox选择历史记录后无法触发onchange事件
- 图表引擎AChartEngine 一
- Log4j解惑之一
- 字节流与位流的相互转换实现
- C++ 简单的日志类
- ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
- 小心得:处理两个头文件互调,死循环情况(将文件之间的编译依赖关系降至最低)
- 在线编程学习【优质的资源】
- C++ DLL远程注入与卸载函数
- 类成员函数继承(virtual、非virtual)
- 黑马程序员_WPF(WPF认识,Sender,C#基础加强类继承,集合,Xaml,控件通用属性)
- OpenOffice API 开发 (二) 样例程序编译
- DLL的远程注入及卸载技术详解