开源c++日志库 寻找-测试-选定
来源:互联网 发布:金税盘开票数据导出 编辑:程序博客网 时间:2024/06/10 14:22
背景:在考虑代码编写时,考虑到日志是必须的,看看c++有没有合适的日志库。
网络上搜索,好像有不少,还有log4j类似的。
liblogger
一款为C++开发的日志工具,支持输出到文件、网络以及控制台
参考地址:http://sourceforge.net/projects/liblogger/
Log4cpp
下载地址: http://sourceforge.net/projects/log4cpp/files
log4cplus
下载地址:http://sourceforge.net/projects/log4cplus/
因为用的是VC,windows平台,发现好多都是使用pthread, 排除掉。
又有好多是新支持C11的,我的版本太老,不行。
最后找到了这个:
http://my.oschina.net/u/988092/blog/198377
只要是支持vc6之后的版本,而且多线程。
而且对一些数据16进制输出(类似以前汇编的d命令)。
2016-08-18 13:18:59.131000 | DEBUG | 3112:6908:trade.cpp:345 | Order:[656]
0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x00000000 39 39 39 39 00 00 00 00 00 00 00 30 36 37 31 38 9999.......06718
0x00000010 35 00 00 00 00 00 00 00 61 75 31 37 30 38 00 00 5.......au1708..
0x00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x00000030 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00 00 .......2........
0x00000040 00 00 00 00 30 36 37 31 38 35 00 00 00 00 00 00 ....067185......
0x00000050 00 00 00 00 32 31 30 00 00 00 00 31 00 00 00 00 ....210....1....
0x00000060 00 00 00 00 00 38 72 40 01 00 00 00 33 00 00 00 .....8r@....3...
0x00000070 00 00 00 00 00 00 31 00 01 00 00 00 31 00 00 00 ......1.....1...
0x00000080 00 00 00 00 00 00 00 00 30 CA 11 41 00 00 00 00 ........0..A....
0x00000090 39 39 39 39 63 61 63 00 00 00 00 00 00 00 00 00 9999cac.........
0x000000A0 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 ............
只需要把log.c 和log.h加入项目中即可使用,也支持编译成dll供加载调用。
主程序中加载 (后面再考虑通过配置文件加载日志级别)
CreateLogHandleG();SetLogOutputG( LOG_OUTPUT_FILE , "xyzproxy.log" , LOG_NO_OUTPUTFUNC ); //文件名SetLogLevelG( LOG_LEVEL_DEBUG ); SetLogStylesG( LOG_STYLES_HELLO , LOG_NO_STYLEFUNC );
退出时
DestroyLogHandleG();
InfoLogG( __FILE__ , __LINE__ , "ReqConnect(%s)",pFront ); DebugLogG( __FILE__ , __LINE__ ,"Cxyztrade::OnRspUserLogin(LoginField, err(%d),bIsLast(%d) )",pRspInfo->ErrorID,bIsLast); DebugHexLogG(__FILE__,__LINE__,(char*)pRspUserLogin,sizeof(*pRspUserLogin),"FtdcRspUserLogin:[%ld]",sizeof(*pRspUserLogin));
其他的日志文件大小配置,级别配置等,待后面继续尝试:-)
LOGS 包含LOG数组
LOGS ----------- LOG
LOGSCONF ------------- LOGCONF
LOGC (精简版本,可以直接调函数写日期)
g = CreateLogHandleFromConfig( "ctest.log.conf" , NULL ) ;if( g == NULL ){printf( "从配置文件构建日志句柄失败\n" );return -1;}else{SetGlobalLOG(g);}
配置文件:ctest.log.conf
output FILE ctestlog.loglevel DEBUGstyles DATETIME|LOGLEVEL|PID|TID|SOURCE|FORMAT|NEWLINEoptions CHANGE_TESTrotate_mode SIZErotate_size 10MBlog_bufsize 1MB 5MB
- 开源c++日志库 寻找-测试-选定
- C#treeview选定节点的值
- 【C#】查询选定日期范围内相关数据
- 【眼力测试】寻找“8”
- c的日志库
- 测试日志
- 日志测试
- 测试日志
- 测试日志
- 测试日志
- 测试日志
- 测试日志
- 测试日志
- 测试日志
- C语言编写输出工作日志测试程序
- 寻找C程序员
- 【c++】寻找等差数列
- C语言寻找BUG
- Android源码编译(8)---编译内核
- pdf在线转换成word格式的方法
- Android绘图技巧
- Android源码编译(7)---运行
- 学习Linux ,Linux常用命令2
- 开源c++日志库 寻找-测试-选定
- POODLE SSLv3 安全漏洞 (CVE-2014-3566)
- myeclipse 快捷键(常用)
- linux下查找mysql等文件路径
- CRC32
- XML初涉
- php开发API接口的代码案例
- 机修邦3.0稳定版后的设计
- android 微信支付