dotos 9 年 前
コミット
0f387e888a
6 ファイル変更58 行追加64 行削除
  1. 19 16
      app.js
  2. 1 0
      package.json
  3. 4 4
      routes/v1.js
  4. 17 26
      utils/logUtils.js
  5. 15 0
      utils/storageUtils.js
  6. 2 18
      utils/utils.js

+ 19 - 16
app.js

@@ -5,11 +5,13 @@ var favicon = require('serve-favicon');
 var logger = require('morgan');
 var cookieParser = require('cookie-parser');
 var bodyParser = require('body-parser');
-var logUtils = require('./utils/logUtils');
-
+var moment = require('moment');
+//暂时不需要本地化
+//moment.locale('zh-cn');
 //Welcome Page
 var welcome = require('./routes/welcome');
-var index = require('./routes/index');
+//日志输出
+var logUtils = require('./utils/logUtils');
 //网易云音乐
 var netease = require('./routes/netease');
 //JsonBird version 1.0
@@ -38,27 +40,28 @@ app.all('*', function(req, res, next) {
         Host: host,
         Referer: ref,
         //Protocol: protocol,
-        Location: '',
-        OriginalUrl: originalUrl
+        OriginalUrl: originalUrl,
+        Time:moment().format('YYYY-MM-DD HH:mm:ss.ms Z')
     };
     /**
-     * /Host/   检测Host是否存在,存在就不再执行重复请求
-     * /_detect 估计是DaoCloud 探测机器人
+     * 不统计和记录日志的请求:
+     * _detect 估计是DaoCloud 探测机器人
+     * *.css 
+     * favicon.ico
+     * (JS文件可能有特殊统计需求,需要单独判断)
      */
-    if (!/Host/.test(originalUrl) && !/\/_detect/.test(originalUrl)) {
+    if (!/\/_detect/.test(originalUrl) && !/.css$/.test(originalUrl) && !/favicon.ico/.test(originalUrl)) {
         if (originalUrl.indexOf('/bing/') > -1 || originalUrl.indexOf('/assets/') > -1) {
-            var err = new Error('这个接口已经改了,请不要在访问这个接口了..., 新的接口:https://api.ioliu.cn/v1/');
+            var err = new Error('这个接口已经改了,请不要在访问这个接口了..., 新的接口:https://bird.ioliu.cn/v1/');
             err.status = 404;
             next(err);
             return;
         }
-        if (originalUrl.indexOf('.css') === -1 && originalUrl.indexOf('.js') === -1) {
-            logUtils.log(logs);
-            var str = '';
-            for (var i in logs) {
-                str += (i + '=' + logs[i] + '&');
-            }
-            request('http://bird.daoapp.io?' + str);
+        //暂时屏蔽掉*.js日志的记录
+        if (originalUrl.indexOf('.js') === -1) {
+            //如果存在引用,则打印日志
+            //if(!!logs['Referer']) 
+            logUtils.print(logs);
         }
     }
     next();

+ 1 - 0
package.json

@@ -27,6 +27,7 @@
     "debug": "~2.2.0",
     "express": "~4.13.4",
     "express-generator": "^4.13.4",
+    "moment": "^2.15.0",
     "morgan": "~1.7.0",
     "pug": "^2.0.0-beta6",
     "request": "^2.74.0",

+ 4 - 4
routes/v1.js

@@ -14,15 +14,15 @@ router.get('/', function(req, res, next) {
     var ip = req.ip;
     if (originalUrl == /v1/) {
         ip2address(ip, function(data) {
-            var params = {
+            var output = {
                 code: 200,
-                ip: ip,
+                IP: ip,
                 info: 'Please Set URL Like This: ' + protocol + '://' + host + '/v1/?url=http[s]://YourWantProxyUrl.com'
             };
             if (data) {
-                params['location'] = data.area + data.location;
+                output['Location'] = data.area + data.location;
             }
-            return res.send(params);
+            return res.send(output);
         });
 
     } else {

+ 17 - 26
utils/logUtils.js

@@ -1,28 +1,19 @@
+var dog = require('./storageUtils');
 module.exports = {
-    log: function(params) {
-        console.log(print(params));
-    },
-    warn: function(params) {
-
-    },
-    error: function(params) {
-
-    },
-}
-
-var print = function(params) {
-    var arr = ['-------------------------------------'];
-    var date = new Date();
-    var month = date.getMonth() + 1;
-    var day = date.getDay();
-    var hours = date.getHours();
-    var minutes = date.getMinutes();
-    var seconds = date.getSeconds();
-    var datestr = date.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) + ' ' + (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
-    for (var i in params) {
-        arr.push(i + ': ' + params[i]);
+    print : function(params) {
+        var arr = ['-------------------------------------'];
+        // var date = new Date();
+        // var month = date.getMonth() + 1;
+        // var day = date.getDay();
+        // var hours = date.getHours();
+        // var minutes = date.getMinutes();
+        // var seconds = date.getSeconds();
+        // var datestr = date.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) + ' ' + (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
+        //arr.push('Time: ' + datestr);
+        for (var i in params) {
+            arr.push(i + ': ' + params[i]);
+        }
+        arr.push('-------------------------------------');
+        console.log(arr.join('\n'));
     }
-    arr.push('Time: ' + datestr);
-    arr.push('-------------------------------------');
-    return arr.join('\n');
-}
+};

+ 15 - 0
utils/storageUtils.js

@@ -0,0 +1,15 @@
+//存储
+module.exports = {
+    //添加/修改数据
+    set: function(key,val){
+
+    },
+    //获取数据
+    get: function(key){
+
+    },
+    //删除数据
+    remove: function(key){
+        
+    }
+};

+ 2 - 18
utils/utils.js

@@ -1,19 +1,3 @@
 module.exports = {
-    urlParams: {
-        // set: function(params) {},
-        // get: function(k) {
-        //     var url = window.location.href
-        //     if (url.indexOf('#!/') > -1) url = url.replace('#!/', '');
-        //     var search = url.split('?')[1].split('&');
-        //     for (var i in search) {
-        //         var temp = search[i].split('=');
-        //         params[temp[0]] = temp[1];
-        //     }
-        //     console.log(params)
-        //     if (k) return params[k];
-        //     return params;
-        // },
-        // toString: function(params) {},
-        // toUrl: function() {}
-    }
-}
+
+};