博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 简单的日志类
阅读量:6949 次
发布时间:2019-06-27

本文共 1453 字,大约阅读时间需要 4 分钟。

/* 简单的日志记录类. (日志而已,何必那么复杂!!!) 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 
#include
#include
#include
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
; static std::auto_ptr
_instance; }; std::auto_ptr
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 1    int main(){  #if EASYLOG      EasyLog::Inst()->Log("Run...");  #endif  }

 

转载于:https://www.cnblogs.com/DswCnblog/p/5459539.html

你可能感兴趣的文章
C++程序设计:原理与实践(进阶篇)15.3 序列和迭代器
查看>>
《树莓派渗透测试实战》——导读
查看>>
《Android 应用案例开发大全(第3版)》——导读
查看>>
Redis开发与运维. 2.2 字符串
查看>>
双研究员带你了解数据库技术现状,及阿里云为什么要推出HBase
查看>>
备用java方法
查看>>
openlayers加载切片地图
查看>>
CentOS7部署Kubernetes集群
查看>>
使用hyperpacer实现AWR报告的同步收集
查看>>
linux 下mysql的乱码问题
查看>>
mongodb删除重复数据
查看>>
橡皮泥_愤怒的小鸟
查看>>
CentOS6.5最小化安装,自定义安装包
查看>>
扩展jQuery easyui datagrid增加动态改变列编辑的类型
查看>>
通过Linux shell实现的花生壳动态域名解析(DDNS)
查看>>
Mysql 生成按月份统计SQL语句,为null设置为0
查看>>
1.6的锁优化(适应性自旋/锁粗化/锁削除/轻量级锁/偏向锁)
查看>>
使用 IntraWeb (17) - 基本控件之 TIWRadioButton、TIWRadioGroup、TIWCheckBox
查看>>
CSS解决高度自适应问题
查看>>
Thinkpad ACCESS CONNECTIONS异常解决
查看>>