首页 > 其他分享 >客服端日志设计-iOS

客服端日志设计-iOS

时间:2023-12-22 11:56:51浏览次数:44  
标签:加密 客服 app iOS 用户 接口 日志 上传

客户端日志系统

使用场景

  1. 用户通过app store下载app后, 在使用过程中出现了异常情况, 例如 功能异常等.

  2. 例如BugHD 会自动捕获崩溃信息, 但开发人员想重现是不容易的.

设计方案

一. 收集

  1. log模块化,暴露接口, 对日志分级, info, debug(支持打印类似 NSLog), warn, error等.

  2. 收集崩溃日志

二. 存储

  1. 直接存储在本地数据库.

    日期 , 等级, 内容, 用户信息,设备信息等
    
  2. 为防止日志过多,占用空间过大, 应该定期删除指定日期前的数据.

    例如2周
    

三. 上传时机

  1. 如果有长连接,通过长连接发送命令 给app, app收到后,返回 ack, 如果未反馈需要持续发送. 类似mq的消息队列. 但是每个消息都有时效性, 如果过了3天以上可以不用再发.

  2. 如果没有长连接,可以考虑两个时机;

     2.1 每次应用进入前台时候, 去主动获取下是否需要上传日志的接口.
    
     2.2 每次用户进入反馈界面时候, 上传今日日志.
    

四. 上传内容

  1. 可以通过接口中指定上传的日期, 例如指定开始日期,截止日志.

  2. 默认3天, 到目前为止.

五. 上传格式

压缩上传, 按天为单位,进行压缩.

压缩加密, 可以采用对称加密, 加密key应该每次上传都不同. 具体的可以协商, 无法保证绝对安全, 就算走https.

后端方案

  1. 接口实现: 后台配置用户id, 则接口通知该用户,上传日志.

  2. 解密日志.

  3. 日志入库, 需要读取日志, 这里其实采用 mysql和 es都可以.

  4. 数据展示, 根据uid进行搜索, 按时间顺序展示, 显示日志等级

  5. 展示方式:

     1. 前端页面
     2. mysql客服端
     3.  es + kibana
    

建议可以采用ES + kibana, 后期能扩展,进行数据采样.

类似 Prometheus + Grafana

参考:
https://segmentfault.com/a/1190000040929195

标签:加密,客服,app,iOS,用户,接口,日志,上传
From: https://www.cnblogs.com/studyios/p/17921302.html

相关文章

  • 升讯威在线客服系统的并发高性能数据处理技术:超强的 SignalR
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消......
  • Unity3D iOS 系统与 Unity 交互中如何实现参数传递详解
    在Unity3D开发中,与iOS系统的交互是非常常见的需求。而在交互过程中,参数传递是非常重要的环节。本文将详细介绍在Unity3DiOS系统与Unity交互中如何实现参数传递,并给出技术详解以及代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事......
  • 补题日志
    补题日志**Codeforcesrating:1770**goal:1900ATcoderrating:1254goal:1600CodeforcesRound915(Div.2)D不难发现,设当前排列为\(q_1,q_2\dotsq_n\),把\(q_1\)移到末尾,造成的影响有:对于前缀中\(\text{mex}_i<q_1\)的\(i\),移动后不改变它的值。对于前......
  • CentOS7开启Firewalld防火墙日志记录获取被拦截的IP
    问题场景:在实际生产环境时使用该方法进行ES数据库白名单访问控制,但遇到业务侧反馈无法访问到ES数据库端口,需要加入到白名单,但业务侧用的IP业务侧无法准确给出于是通过如下面的方法解决这个问题1、firewalld的默认配置是不记录日志firewall-cmd--get-log-denied可以看到默认是off......
  • 微服务调用链的排查,请求日志排查超时时间,锁定超时的原因
    微服务调用链的排查,请求日志排查超时时间,锁定超时的原因A微服务>>B微服务>>C微服务论日志的请求开始时间和结束时间的重要性。完整的日志格式:另外接口的入参,出参也需要加上,日志需要根据参数的关键字来搜索,比如会员号,ID等唯一标识。A服务 logger.info("调用B服务httpParam......
  • 腾讯QQ9正式发布!4年来最大更新 安卓/iOS/Windows都能下载了
    12月20日消息,今日,腾讯宣布,QQ9正式上线。距离上一次QQ8版本已经过去了4年。据官方介绍,本次版本更新,QQ9采用了全新的QQNT技术架构驱动,性能升级,交互体验更加流畅。全新界面,流畅社交。首先是UI界面全面优化,QQ启动页、登录页、消息列表页、关于页等页面UI焕彩上线。同时,聊天、设置......
  • 从零开始用 Axios 请求后端接口
    对于前端同学来说,请求后端接口是一个非常通用的东西。在十几年前的时候,我们还用Ajax去请求后端接口。但在2023年的今天,很多框架都很成熟了,我们有了更加快捷的方式——Axios框架。请求框架哪家强?对于使用Vue技术栈的同学来说,其实接口请求框架就三种:vue-resource、Axios......
  • iOS项目中加入flutter
    新建一个iOS项目Test在iOS同级目录下建一个flutter modulefluttercreate--templatemodulemy_flutterpodfile编写如下#Uncommentthenextlinetodefineaglobalplatformforyourproject#platform:ios,'9.0'target'Test'do#Commentthenextl......
  • uniapp app安卓、ios文件选择 (上传pdf word video img )等
    1、hybrid 必须放在项目根目录下,不然会调用失效:如图 2、建立nvue 子窗体  代码:1<template>2<viewclass="nvue">3<textclass="popup-item"@click="clickfun">选择文件</text>4<textclass="ddddd......
  • iOS GCDWebServer 搭建本地服务器
    需求场景:H5页面读取系统相册,把选中的图片上传给前端H5.(H5不能直接读取沙盒的路径)方案1:读取到的二进制baseEncode字符串形式交互 弊端:安全性问题:JavaScript在浏览器中运行,可能存在潜在的安全风险,需要谨慎处理用户照片,以免导致隐私泄露或安全问题。性能问题:读取大型......