1
mokeyjay 2018-01-24 11:29:47 +08:00
为啥不用各种成熟的统计工具?
|
2
evefree2 2018-01-24 11:30:06 +08:00
自己写一个不行吗?挖日志效率更好吧
|
6
suhui OP @iyaozhen 日志只有一个 ip,我想知道用户是通过手机访问还是 PC 访问,微信访问 api 还是 APP 访问 api,设备的屏幕参数之类的
|
7
lianyue 2018-01-24 11:39:59 +08:00
谁说统计工具不能统计 app 的
|
9
not4jerk 2018-01-24 12:15:10 +08:00
自己写一个 laravel 中间件把$_server 里面的数据以 url 为 key, lpush 到 redis 日志系统完成,顺便记录一下 ip 的访问次数
|
10
carlclone 2018-01-24 12:44:35 +08:00
好 chun
|
11
caola 2018-01-24 13:21:44 +08:00
laravel 是一个框架,并没有你所说的什么鬼。
要么自己找,要么自己开发 |
12
Patrick95 2018-01-24 13:39:42 +08:00
|
13
b821025551b 2018-01-24 13:56:23 +08:00
写个中间件无脑记 log 有 10 分钟就搞定了,还要求个库?
|
14
MeteorCat 2018-01-24 14:09:37 +08:00 via Android
可以建议加个 js,页面访问指定页面的时候自动 js 请求到 php 文件打点记录,我不建议在对应模块业务代码中编写侵入其他业务的功能,把他们归到一个地方之后请求,以后功能需求变动就能在一个地方改,而不是全局查询哪些地方需要更改
|
15
MeteorCat 2018-01-24 14:11:27 +08:00 via Android
如果是 API 的话,可以使用 PHP 继承一个 RecordControlle 类,该类记录基础更加上级的类,而需要记录的地方之后基础他,并在他构造方法中执行打点记录
|
16
fcten 2018-01-24 14:19:12 +08:00
API 请求怎么可能知道屏幕参数……请求里面又没有这个东西。一般都是页面 js 统计发给后端的。
至于手机、PC、微信、APP 的判断只要在日志里记录 User-Agent 就行了 |
17
iyaozhen 2018-01-24 17:50:27 +08:00 via Android
@suhui 接楼上,你这是两个需求。
设备型号等可以通过 user-agent 匹配,那么日志里面可以多打个 ua 分辨率得前端获取。 如果你需要 api 的请求数据和分辨率得做关联就需要前端请求时冗余一个设备 id 参数,然后前端把这个设备的详细信息上报。 |
18
suhui OP |
19
MeteorCat 2018-01-24 18:25:12 +08:00 via Android
@suhui 实际上 HTTP 怎么确定唯一性讲究的是相对精确而非绝对精确,基于 HTTP 的无状态性,就这种情况你可以考虑 IP+cookie 这种方式,对于这种打点统计来说,你只要比对下大概来源 IP 和带有的 cookie 就行了,因为无论怎么样,浏览器可以清理 cookie,IP 可以使用代理,基于这种情况没必要强求数据绝对化
|
20
WildCat 2018-01-24 18:33:20 +08:00
|