前端实现日志存储
接手一个需求,要求前端做一个数据监控统计分析平台,这个就涉及到日志的存储分析等功能,通过调研将内容分为以下几点:
一、环境搭建
为了节约学习成本,我们选择了node作为后端语言,下一步框架的选择,提到Node.js开发,不得不提目前炙手可热的2大框架express和koa。经对比后,Express诞生已有时日,是一个简洁而灵活的web开发框架,使用简单而功能强大,生态较为完善,最终选择express框架开发。
二、日志框架选择
我们从这几个方面来做选型:
1.每行日志都需要有准确无误的时间戳
2.日志格式容易被计算机进行分析处理
3.允许多个可配置的目标流
调研了三个目前比较受欢迎的框架
最终我们以解析存储日志为重要考虑方向,选择了bunyan。
安装(Installation)
npm install bunyan --save
使用(Usage)
var bunyan= require('bunyan'); var log=bunyan.createLogger({name:'myapp'}); log.info('hi');
输出:
{"name":"myapp","hostname":"pwony-2","pid":12616,"level":30,"msg":"hi","time":"2014-05-26T17:58:32.835Z","v":0}
三、存储方式及内容
1.日志存储方式
采用node的fs来进行文件的创建,将日志存储在项目的logs_store文件夹下,日志文件又分为两个类型,trace和debug,按日期小时分别存在不同的文件夹下,如图所示。
2.日志存储内容
将请求中的参数,时间戳,user_agent,host等需要的信息存储下来,格式大致如下:
{ "time":1553680369929, "qs":{ "action": "click", "action_id": "opendetail" }, "host":"127.0.0.1:3000", "user-agent":"....." }
四:存储数据库类型选择
最终选定mysql,没有其他原因,只是因为比较熟悉。
五:展示平台选择
有了数据存储分析等一系列操作,最终如何展示呢?我们公司正好有一个开放的报表平台,直接请求数据库或API即可展示图标内容,so最后一步就这么轻松搞定啦
相关推荐
南昌千网科技 2020-10-18
颤抖吧腿子 2020-09-04
xxuncle 2020-07-04
小秋 2020-11-12
学习web前端 2020-11-09
小焊猪web前端 2020-11-04
lxhuang 2020-11-03
小焊猪web前端 2020-10-24
杏仁技术站 2020-10-23
liduote 2020-10-16
PncLogon 2020-09-24
趣IT 2020-09-22
杏仁技术站 2020-09-18
拾光璇旅 2020-09-17
lfbooo 2020-09-09
xiaohuli 2020-09-02
Herorong 2020-08-25
nicepainkiller 2020-08-20
anaction 2020-08-17