5个步骤,轻松设计出用户操作日志

2022 年 10 月 15 日 人人都是产品经理

关注并将「人人都是产品经理」设为星标

每天早 07 : 45 按时送达

日志记录了代码的执行过程,根据目的不同,可以分为系统日志和操作日志。本文作者对操作日志进行了介绍,分析如何用五个步骤设计出用户操作日志,一起来看一下吧。


作者:产品乱弹

来源微信公众号:产品乱弹

题图来自Unsplash,基于CC0协议

全文共 2610 字,阅读需要 5 分钟

——————/ BEGIN /—————

什么是日志

日志记录了代码的执行过程。

根据目的不同,可分为系统日志和操作日志。

1)系统日志

记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。开发人员可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

系统日志包括系统日志、应用程序日志和安全日志。由于系统日志主要是为开发人员排查问题提供依据的,因此可读性没那么高。

2)操作日志

记录所有用户在系统中的操作过程和操作结果,如登录记录、修改记录等。

操作日志主要是为用户服务,帮助他们查看历史操作记录,因此对可读性要求较高。

什么是操作日志

具体而言就是记录“谁在什么时间、什么位置,对什么东西做了什么操作,从而产生了哪些变动”,因此一个完备的操作日志应包含以下信息:

  • 用户(操作人及账号):谁执行了该操作

  • 操作时间:什么时间执行了该操作

  • 操作位置(业务菜单):在哪个模块上执行了该操作,如用户管理、订单管理等

  • 操作对象:对哪个对象执行了该操作,如某道题、某份试卷

  • 操作类型:具体执行了哪个操作,如登录、浏览、新增、删除等

  • 变动值:在执行该操作后产生了哪些变化,主要针对于“编辑”类型的操作,如将题目难度由【难度一】修改为【难度二】

除了以上内容,还可根据业务场景补充记录其他字段:

  • 操作页面:记录执行操作时调用的接口,如/crowd/system/user/list,当出现异常时,便于技术人员快速定位问题

  • 登录IP:记录用户在何地执行的操作,如125.71.135.54四川省成都市武侯区电信

  • 设备信息:记录用户通过哪种设备执行的操作,如Chrome101、Windows7、PC

  • 业务相关字段:为了满足业务需要而记录的字段,如下图所示

拓展1:以上默认只记录操作成功的日志,如果业务需要,还可以增加“操作状态”字段来记录操作失败的日志,同时记录失败原因。

拓展2:若多个项目均要记录用户的操作,不需要为每个项目单独开发一套操作日志功能,而应该设计一个用户操作日志的公共组件(本文只讨论为单一项目设计用户操作日志,组件的设计不在本文讨论范围内,不过设计组件时仍需先理清各项目的用户操作日志,再同开发讨论如何抽离)。

五步设计用户操作日志

1. 梳理操作列表

梳理操作列表就是罗列出用户的哪些操作要在用户操作日志中记录。具体的方法是:在功能列表的基础上,根据业务需要筛选出要记录的功能。

如上图所示,左边是产品的功能列表,经过产品经理的调研和分析,认为本项目的用户操作日志中不需要记录查看及查询操作,并且也不需要记录公告管理中的所有操作,因此制作了右边的操作列表。

2. 梳理记录字段

在本步骤中需要产品经理明确针对每个操作要记录的字段有哪些。至少应包括用户、操作时间、操作位置、操作对象和操作类型,再根据业务的需要增加变动值、IP地址、设备信息、操作页面等其他字段。

3. 填充具体规则

搭建好操作列表和记录字段的框架后,接下来就是往里面填充具体的规则了,即如何将操作日志以通俗易懂的方式展现出来。

如上图所示:添加、删除、停用等操作由于只涉及一个对象的一个状态,所以处理起来比较简单,如[2022-10-10 19:10:26][小王1816121315]在[学院管理]中[添加]了[学院一(002)];

批量操作可以被看成是多次对单个对象进行操作,也只涉及一个状态,如[2022-10-10 19:10:26][小王1816121315]在[学院管理]中[添加]了[学院一(002)、学院二(003)、学院三(004)];

最复杂的是对编辑操作的处理,因为涉及到两个状态,即编辑前和编辑后,下文会以“编辑”操作为例介绍如何记录两个状态的操作内容。

注:需要根据业务需求决定日志记录的颗粒度,可只记录到操作类型,也可记录到每次操作的详细内容。

1)有限值

针对有限内容(如下拉框、多选框、复选框等)可直接记录前后变化,如题目难度:将[难度一]修改为[难度二]。

2)短文本

由于文本内容较短,也可以直接记录编辑前和编辑后的内容,如学院名称:将[学院一]修改为[学院二]。

3)长文本

由于文字较多,若像短文本那样将全部内容都展示出来,则不利于用户看出变化。这时就可先按“行”梳理长文本内容,编辑后只给用户展示出变动行的内容,如下图所示,可以很清晰地看出用户删除了第285-294行,新增了289-298行。

4)图片和音视频

图片和音视频是以地址的形式存储的,因此也应该以地址的形式进行记录,如附件:将[https://cos.1.png]修改为[https://cos.2.png]。

5)复杂内容

编辑一个阅读理解题目,可以同时包含有限值、短文本、长文本、图片和音视频,并且选项和子题的个数也不可控,如果按上述方案对每种数据分开记录,会十分繁琐,也不利于用户阅读。因此对于复杂内容,需要整体保存,并支持查看编辑前和编辑后的记录(类似于历史版本)。

4. 补充其他附属功能

除上述的主要规则外,关于用户操作日志还可根据需要设计其他附属功能,包括:

1)查询筛选

为了便于用户查找,应针对操作字段提供查询和筛选功能,如按用户信息进行模糊搜索、按操作时间段进行查询、按业务菜单和操作类型(筛选时要合并类型,如“新增学生”和“新增老师”,都属于“新增”类型)进行筛选等。

2)分页

分页展示数据,并且可以设置每页显示条数。

3)排序

按操作时间正序或倒序排列。

4)自定义显示列字段

若一次显示的字段太多,可由用户自定义选择。

5)下载

能够根据条件下载用户操作日志。

6)自动清理

用户操作日志更新频繁,长时间会积累大量数据,占据存储空间,并且操作日志具有时效性,过早的日志没有查询价值,因此可通过存储天数或存储条数的限制自动清理无用日志。

5. 完善原型和PRD

根据前面的分析结果完成产品原型和产品需求文档的设计。

至此五个步骤已全部介绍完成。

——————/ E N D /——————

产品经理培训产品运营培训企业内训服务

请在公众号后台回复「培训」了解更多

▼ 喜欢请分享&收藏,满意点个赞,最后点「在看」 ▼

登录查看更多
1

相关内容

【2022新书】高效Go语言,数据驱动的性能优化,776页pdf
专知会员服务
55+阅读 · 2022年11月23日
【经典书】Linux UNIX系统编程手册,1554页pdf
专知会员服务
44+阅读 · 2021年2月20日
专知会员服务
142+阅读 · 2020年12月28日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
65+阅读 · 2020年3月9日
用户拒收消息提醒,为何屡屡失败?
人人都是产品经理
0+阅读 · 2022年11月28日
一文详解K8s环境下Job类日志采集方案
阿里技术
0+阅读 · 2022年11月8日
是谁需要已读功能?用户还是软件?
人人都是产品经理
0+阅读 · 2022年5月29日
从4个部分,聊聊B端产品中的浮层组件的设计思考
人人都是产品经理
0+阅读 · 2022年2月20日
用户流失,该怎么分析?
人人都是产品经理
0+阅读 · 2022年2月17日
如何在微服务中设计用户权限策略?
InfoQ
0+阅读 · 2021年11月19日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年12月5日
Arxiv
0+阅读 · 2022年12月3日
Cold-start Sequential Recommendation via Meta Learner
Arxiv
14+阅读 · 2020年12月10日
已删除
Arxiv
31+阅读 · 2020年3月23日
Arxiv
19+阅读 · 2018年10月25日
VIP会员
相关资讯
用户拒收消息提醒,为何屡屡失败?
人人都是产品经理
0+阅读 · 2022年11月28日
一文详解K8s环境下Job类日志采集方案
阿里技术
0+阅读 · 2022年11月8日
是谁需要已读功能?用户还是软件?
人人都是产品经理
0+阅读 · 2022年5月29日
从4个部分,聊聊B端产品中的浮层组件的设计思考
人人都是产品经理
0+阅读 · 2022年2月20日
用户流失,该怎么分析?
人人都是产品经理
0+阅读 · 2022年2月17日
如何在微服务中设计用户权限策略?
InfoQ
0+阅读 · 2021年11月19日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员