跳到主要内容

talog

简介

基于Thinking Analytics(TA)用户行为分析系统的日志记录

信息

参考当前最新的TA使用指南v2.7

  • 将日志数据发送到TALogger,由TALogger记录到对应的接收端

    • 提供三种类型的接收端(driver):
      • debug_logger : 批量实时记录日志数据,仅输出数据信息,调试使用
      • local_logger : 批量实时记录日志数据,接收端为本地文件,需与LogBus搭配
        • logs_dir : 用于存放本地TA_LOGS的目录,需要与LogBus相同
        • overdue_interval_sec : 日志文件的过期间隔,<0 则表示不不进行删除处理
        • clean_interval_sec : 定期扫描并清理过期的日志文件
      • remote_logger : 批量实时记录日志数据,接收端为TA服务器,不需要搭配传输工具
        • url : TA服务器的地址
        • app_id : 项目实例的编号
    • 提供两种触发刷新的条件:
      • flush_max_count : 日志数据达到多少条时,刷新到接收端
      • flush_interval_sec : 日志数据在定期间隔内,刷新到接收端
  • 服务器上报日志数据至数数BI后台,一般采用local_logger+logbus的方式。

    • 该方式比较稳定可靠,且对服务器记录日志压力也比较小。
    • 数据上报只需要开启官方提供的logbus,即可自动上传数据。
  • 数数BI有两种数据模型:

    • 事件模型:
      • 通过track来进行记录,和常规日志记录方式一样。
    • 用户模型:
      • 通过user_set/user_set_once/user_add/user_unset/user_append/user_del来进行记录。
      • 数数BI特有的日志记录方式,记录用户数据,可以直接在后台查看信息。
  • talog的配置表:

map cfg =  {
"driver" : "local_logger",
"logs_dir" : "./ta_logs",
// "overdue_interval_sec" : 10,
// "clean_interval_sec" : 5,
// "flush_max_count" : 1000, // 达到上限值时自动刷新
// "flush_interval_sec" : 60, // 日志数据刷新间隔
};
  • 启动方式:talog.start(cfg);

组件接口

talog.gs

函数原型函数作用
void start(map cfg)启动talog
void stop()关闭talog
mixed get_config(string path)获取配置信息
int get_count()获取记录器中的日志数据数
void flush()立即刷新/落地数据
void dump()查看当前日志队列
void track(string event_name, string account_id, map properties = , map keys = )上报事件数据
void user_set(string event_name, string account_id, map properties = , map keys = )覆盖用户属性
void user_set_once(string event_name, string account_id, map properties = , map keys = )初始化用户属性
void user_add(string event_name, string account_id, map properties = , map keys = )累加用户属性
void user_unset(string event_name, string account_id, map properties = , map keys = )移除用户属性值
void user_append(string event_name, string account_id, map properties = , map keys = )添加列表型用户属性的元素
void user_del(string event_name, string account_id, map properties = , map keys = )删除用户