有做折线图的需求
看了下 d3, 然后选择了 echarts
fs.readFile('www.mingshid.com.log', function (err, data) {
if (err) {
return console.error(err);
}
var contentArr = data.toString().split('\n');
var objArr = [];
var str = '',access_obj = {};
var dayArr = [];
for(var i=0; i<contentArr.length; i++){
str = contentArr[i];
if(str!=''){
access_obj.ip = str.match(/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/)[0];
access_obj.time = str.split('"')[0].split('[')[1].split(']')[0].replace(':',' ');
access_obj.method = str.split('"')[1].split(' ')[0];
access_obj.userAgent = str.split('"')[5];
access_obj.path = str.split('"')[1].split(' ')[1];
access_obj.http = str.split('"')[1].split(' ')[2];
access_obj.status_code = str.split('"')[2].split(' ')[1];
access_obj.content_length = str.split('"')[2].split(' ')[2];
objArr.push(access_obj);
}
}
fs.writeFile('day-group.json',JSON.stringify(dayArr),function(err){
if(err){
return console.log(err);
}
console.log('保存成功!');
})
});
这些代码基本就够用了
数据更新也是一个问题
更新数据的时候遇到一个问题
那个网站日志全是一个文件里的,并没有每天生成一个
每天怎么更新到数据库?
暂时想到的方法是匹配最后一个时间