请选择 进入手机版 | 继续访问电脑版

NoahFrame

 找回密码
 Register Now
搜索
热搜: redis mysql tutorial
查看: 1318|回复: 3

新的log格式

[复制链接]

30

主题

111

帖子

650

积分

Administrator

Rank: 9Rank: 9Rank: 9

积分
650
发表于 2016-12-31 06:31:14 | 显示全部楼层 |阅读模式
目前log模块打印log比较自由散漫,因此也需要增加一个新接口,使其支持强制结构体打印,方便做数据分析。

1:新的结构体内部支持按顺序添加Key和Value
2:新的结构体,支持扩展而无需修改LogModule
3:LogModule添加接口支持传入新结构体的基类
4:结构体内容,支持xml配置,无缝传入到代码层
回复

使用道具 举报

0

主题

1

帖子

56

积分

Registered member

Rank: 2

积分
56
发表于 2016-12-31 07:35:18 | 显示全部楼层
站长,这么早。辛苦了。
回复 支持 反对

使用道具 举报

30

主题

111

帖子

650

积分

Administrator

Rank: 9Rank: 9Rank: 9

积分
650
 楼主| 发表于 2016-12-31 18:33:07 | 显示全部楼层
你也很早
回复

使用道具 举报

30

主题

111

帖子

650

积分

Administrator

Rank: 9Rank: 9Rank: 9

积分
650
 楼主| 发表于 2017-1-15 04:58:49 | 显示全部楼层
比如,道具流水需要元素: ObjectID, ItemID, Add/Del, Count, Time, Reason

相当于
  1. class NFCItemRecord : public NFIRunTimeEventRecord
  2. {
  3.     public NFGUID ObjectID;
  4.     public NFGUID ItemID;
  5.     public int OperateType;
  6.     public int Time;
  7.     public int Count;
  8.     public int Reason;
  9. };
复制代码

打印的时候样本应为(|作为每个元素的分隔符):
1010-121221|1010-23232|1|12345|10|0

进一步抽象代码

  1. class NFIRunTimeEventRecord
  2. {
  3.     public void AddElement()
  4.     {
  5.     }
  6.     public void Printf()
  7.     {
  8.     }
  9.     std::vector<std::share_pointer<NFIProperty>> RecordElement;
  10. };
复制代码

进一步可以用NF的NFList或者NFVector代替数据管理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | Register Now

本版积分规则

 

GMT+8, 2018-10-19 03:08 , Processed in 0.073431 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表