- 浏览: 353244 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
一提到log,相信很多人就知道我要写些什么东西了,在所有的项目中都有自己一套写日志的模块。下面呢,我就根据平时的项目的需求写了一个比较简单使用的logger,方便输出各种等级的log。
事先声明一下,代码仅供大家学习参考之用,有什么不足的地方还请大家提出来。在实际使用中可以考虑把log放入一个list,然后用一个线程专门负责写log.
下面logger的结构,有需要的源代码的,索取一下密码,谢谢!
事先声明一下,代码仅供大家学习参考之用,有什么不足的地方还请大家提出来。在实际使用中可以考虑把log放入一个list,然后用一个线程专门负责写log.
下面logger的结构,有需要的源代码的,索取一下密码,谢谢!
class Logger { public: static void InitLoggerConfig(void); static void StringLog(LogLevel logLevel, const string& strFuctionName, int lineNumber, string strFileName, const char* strInfo); static void Log(LogLevel logLevel, const string& strFuctionName, int lineNumber, string strFileName, const char* strFormat, ...); static void Log(LogLevel logLevel, StringBuilder& stringBuilder, const string& strFuctionName, int lineNumber, string strFileName); static void RetureLog(LogLevel logLevel, const string& strFuctionName, int lineNumber, string strFileName, const char* strInfo); static void LogPrinter(LogLevel logLevel, const char* strInfo, ...); private: static string GetFileMainPath(); private: static string mStrLog; static string mStrFileName; static string mStrFileMainPath; static time_t mTimeValue; static LogLevel mLogLevel; static tm mDateTime; static LogManager mLogManager; };
//测试代码 int main() { const char *pInfo = "strInfo"; const char *pWarringInfo = "Waring Log"; const char *pErrorInfo = "Error Log"; const char *pFatalInfo = "Fatal Log"; const char *pDebugInfo = "Debug Log"; INIT_LOG(); INFO_LOG(pInfo); WARN_LOG(pWarringInfo); ERR_LOG(pErrorInfo); FATAL_LOG(pFatalInfo); DEBUG_LOG(pDebugInfo); INFO("%s", pInfo); WARN("%s",pWarringInfo); ERR (" %s",pErrorInfo); FATAL(" %s",pFatalInfo); DEBUG(" %s",pDebugInfo); int i = 0; XX_INFO_LOG( pInfo << &i); XX_WARN_LOG( pWarringInfo << 1 ); XX_ERR_LOG( pErrorInfo << 2 ); XX_FATAL_LOG( pFatalInfo << 3 ); XX_DEBUG_LOG( pDebugInfo << 4 ); LOG_PRINTER(INFO,"%d %f %c %s", 1, 1.2, 'c', "123"); LOG_PRINTER(FATAL,"%d %f %c", 1, 1.2, 'c'); LOG_PRINTER(ERR,"%d %f %c", 1, 1.2, 'c'); return 0; }
- LoggerDemo.zip (23.8 KB)
- 下载次数: 31
- LoggerDemo_DLL_Version_.zip (51 KB)
- 下载次数: 14
- Logger_V1.0.0.1.zip (5.4 KB)
- 下载次数: 16
- Logger_Source_V1.0.0.3.zip (9.4 KB)
- 下载次数: 3
发表评论
-
FreeRTOS
2022-03-05 16:31 202Ref https://blog.csdn.net/weix ... -
串口通讯相关
2018-11-02 13:44 357https://bbs.csdn.net/wap/topics ... -
[转]C++验证IP是否可以PING通
2018-10-30 17:54 1221https://www.cnblogs.com/guoyz13 ... -
C++/MFC 換皮膚
2018-10-20 11:05 419https://blog.csdn.net/u01123991 ... -
WinCE 截屏 - C++ 代碼
2018-08-31 09:45 515// this function create a bmp ... -
Android NDK搭建環境
2017-11-27 13:25 525https://www.cnblogs.com/ut2016- ... -
8583协议相关
2017-10-17 13:38 5108583相关资料,整理中... -
Java高级应用之JNI
2017-06-19 09:00 536参考link http://www.cnblogs.com/l ... -
C++实现ping功能
2017-04-18 11:21 2021基础知识 ping的过程是向目的IP发送一个type=8的I ... -
OpenSSL 编译环境搭建
2017-03-27 15:01 8491 安裝VS2008到 c:\Program Files (x ... -
最优非对称加密填充(OAEP)
2017-03-25 14:53 1504OpenSSL命令---rsautl http://blog. ... -
[Platform Builder] 设置SVM OS build Env
2016-11-10 11:39 01 copy one OSDesign Project to ... -
[Windows] System Error Codes(GetLastError )0-----5999
2016-10-26 13:28 1831ERROR_SUCCESS 0 (0x0) T ... -
开源Windows驱动程序框架
2016-09-17 21:35 809转自 http://code.csdn.net/news/28 ... -
c/c++代码中执行cmd命令
2016-09-14 14:50 1808转自 http://blog.csdn.net/slixinx ... -
C#使用C++标准DLL实例(包含callback)
2016-09-11 19:44 996C++编写标准Win32DLL如下 头文件 /***** ... -
C#调用C++的DLL搜集整理的所有数据类型转换方式
2016-09-09 16:07 923转自 http://www.cnblogs.com/zeroo ... -
WinCE CPU使用率计算 测试工具
2016-09-08 16:14 931转自 http://blog.csdn.net/jan ... -
switch在C++与C#中的一些差异
2016-09-08 15:19 752参考链接 http://blog.csdn.net/weiwe ... -
C++ 鼠标模拟程序
2016-09-04 12:09 1526转自 http://blog.csdn.net/weixinh ...
相关推荐
用python写程序的,作为一个完整的项目而言,必须要有日志模块,而python的logging模块为我们提供了这么一种很好的机制,很方便的解决了这个问题。
logging-aspect 项目中日志收集实现AOP 和 Listener两种全局实现
许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行...这篇文章给大家主要介绍了在Python中logging日志模块在多进程环境下的使用,需要的朋友可以参考借鉴,下面来一起看看吧。
本文主要介绍了ASP.NET Core 开发-Logging 使用NLog 写日志文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 NLog 可以适用于 .NET Core 和 ASP.NET Core 。 ASP.NET Core已经内置...
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而...
Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志...
自定义日志模块(接口及代理实现),而不直接使用第三方日志框架接口,避免在日志框架升级或者切换时,代码过多耦合。 这个举例说明一下: 比如,在某一项目开始时使用的是“log4j”框架,后面经过研究发现“sf4j...
主要介绍了Python logging模块异步线程写日志实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
详解python的日志模块logging和django中对logging模块的使用
A lightweight C++ logging library
1. logging日志模块介绍 python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录。python logging 官方文档 logging框架中主要由四个部分组成: Loggers: 可供程序...
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而...
Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似。日志是记录操作的一种好方式。但是日志,基本都是基于文件的,也就是要写到磁盘上的。这时候,磁盘...
Linux项目c++日志系统linux-project-c-logging-system-master.zip
转载于https://www.cnblogs.com/Nicholas0707/p/9021672.html,支持正版
在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cpp,而在python中,我们不需要第三方的日志组件,因为它已经为我们提供了简单易用、且功能强大的日志模块:logging。logging模块...