node.js健壮性问题及打印错误日志

var moment  =  require('moment'); 
var express = require('express');
var bodyparser = require('body-parser');
var app = express();
//var router = express.Router();
var mysql = require('mysql');
var querystring = require('querystring');
var port = process.env.PORT || 8080;
var domain = require('domain');
var d = domain.create();
app.use(bodyparser.urlencoded({
    extended: true
}));
//本地请求跨域
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
var mysql = require('mysql');

//打印错误日志
var log4js = require('log4js'); //注意log4js的module位置引用是否正确
//log the cheese logger messages to a file, and the console ones as well.

//通过configure()配置log4js
log4js.configure({
    appenders: {

        cheeseLogs: {
            type: 'file',
            filename: 'cheese.log'
        },

        console: {
            type: 'console'
        }

    },
    categories: {

        cheese: {
            appenders: ['cheeseLogs'],
            level: 'error'
        },

        another: {
            appenders: ['console'],
            level: 'info'
        },

        default: {
            appenders: ['console', 'cheeseLogs'],
            level: 'trace'
        }

    }
});

const logger = log4js.getLogger('anotner');

//应用级路由
//--------------------------------------新版WIFI运营监控--------------------------------------
d.on('error', function(err) {
    console.log("68行" + err);
});
d.run(function() {
    app.post("/newwifi", function(req, res) {
        var connection = mysql.createConnection({
            host: '10.1.0.25',
            user: 'mysql',
            password: 'mysql123',
            port: '3306',
            database: 'wifi20dw'
        });
        d.on('error', function(err) {
            console.log("80行" + err);
        });
        d.run(function() {
            connection.connect();
        });
        var begintime = moment(req.body.begintime, "MM/DD/YYYY").format('YYYY-MM-DD');
        var endtime = moment(req.body.endtime, "MM/DD/YYYY").format('YYYY-MM-DD');
        let getList = "select WIFINO,DATE_FORMAT(min(mindaytime),'%Y-%m-%d %T') as `MIN TIME`,DATE_FORMAT(max(maxdaytime),'%Y-%m-%d %T') as `MAX TIME` from wifi20dw.wifidaystatic where recday between '" + begintime + "' and '" + endtime + "' group by wifino";
        connection.query(getList, function(err, rows, fields) {
            if(err) {
                logger.info("90行" + err);
            }
            logger.info(rows);
            var a = rows;

            var obj = {
                data: [],
                cols: []
            }
            var ending = false;
            a.forEach(function(v, i) {
                var arr = []
                for(var i in v) {
                    arr.push(v[i]);
                    if(ending == false) {
                        obj.cols.push({
                            title: i
                        });
                    }
                }
                ending = true;
                obj.data.push(arr);
            });

            res.send(obj);
        });
        connection.end(function(err) {
            if(err) {
                console.log("118行"+err);
            } else {

                console.log("断开连接");

            }
        });
    });
});

//var newwifi = require('../../routes/newwifi');
//app.use('/newwifi', newwifi);

//--------------------------------------新版路由器功能监控--------------------------------------
d.on('error', function(err) {
    console.log(err);
});
d.run(function() {
    app.post("/newroutermon", function(req, res) {
        var connection = mysql.createConnection({
            host: '10.1.0.25',
            user: 'mysql',
            password: 'mysql123',
            port: '3306',
            database: 'wifi20dw'
        });
        d.on('error', function(err) {
            console.log("145行" + err);
        });
        d.run(function() {
            connection.connect();
        });
        let getList = "select wifino,DATE_FORMAT(maxdaytime,'%Y-%m-%d %T')as maxdaytime,TIMESTAMPDIFF(DAY,now(),maxdaytime) as DIFFDAYS from wifi20dw.wifidaystatic group by wifino order by DIFFDAYS desc;";
        connection.query(getList, function(err, rows, fields) {
            if(err) {
                logger.info(err);
            }
            logger.info(rows);
            var a = rows;

            var obj = {
                data: [],
                cols: []
            }
            var ending = false;
            a.forEach(function(v, i) {
                var arr = []
                for(var i in v) {
                    arr.push(v[i]);
                    if(ending == false) {
                        obj.cols.push({
                            title: i
                        });
                    }
                }
                ending = true;
                obj.data.push(arr);
            });
            res.send(obj);  
        });
        connection.end(function(err) {
            if(err) {
                console.log("180行"+err);
            } else {

                console.log("断开连接");

            }
        });
    });
});
//--------------------------------------旧版WIFI运营监控--------------------------------------
d.on('error', function(err) {
    console.log(err);
});
d.run(function() {
    app.post("/oldwifi", function(req, res) {
        var connection = mysql.createConnection({
            host: '10.1.0.25',
            user: 'mysql',
            password: 'mysql123',
            port: '3306',
            database: 'wifi20dw'
        });
        d.on('error', function(err) {
            console.log("203行" + err);
        });
        d.run(function() {
            connection.connect();
        });
        var begintime = moment(req.body.begintime, "MM/DD/YYYY").format('YYYY-MM-DD');
        var endtime = moment(req.body.endtime, "MM/DD/YYYY").format('YYYY-MM-DD');

        let getList = "select WIFINO,DATE_FORMAT(min(mindaytime),'%Y-%m-%d %T') as `MIN TIME`,DATE_FORMAT(max(maxdaytime),'%Y-%m-%d %T') as `MAX TIME` from wifi20dw.wifidaystatv1 where recday between '" + begintime + "' and '" + endtime + "' group by wifino";
        connection.query(getList, function(err, rows, fields) {
            if(err) {
                logger.info(err);
            }
            logger.info(rows);
            var a = rows;

            var obj = {
                data: [],
                cols: []
            }
            var ending = false;
            a.forEach(function(v, i) {
                var arr = []
                for(var i in v) {
                    arr.push(v[i]);
                    if(ending == false) {
                        obj.cols.push({
                            title: i
                        });
                    }
                }
                ending = true;
                obj.data.push(arr);
            });

            res.send(obj);   
        });
        connection.end(function(err) {
            if(err) {
                console.log("242行"+err);
            } else {

                console.log("断开连接");

            }
        });

    });
});
//--------------------------------------旧版路由器功能监控--------------------------------------
d.on('error', function(err) {
    console.log(err);
});
d.run(function() {
    app.post("/oldroutermon", function(req, res) {
        var connection = mysql.createConnection({
            host: '10.1.0.25',
            user: 'mysql',
            password: 'mysql123',
            port: '3306',
            database: 'wifi20dw'
        });
        d.on('error', function(err) {
            console.log("145行" + err);
        });
        d.run(function() {
            connection.connect();
        });
        let getList = "select wifino,DATE_FORMAT(maxdaytime,'%Y-%m-%d %T')as maxdaytime,TIMESTAMPDIFF(DAY,now(),maxdaytime) as DIFFDAYS from wifi20dw.wifidaystatv1 group by wifino order by DIFFDAYS desc;";
        connection.query(getList, function(err, rows, fields) {
            if(err) {
                logger.info(err);
            }
            logger.info(rows);
            var a = rows;

            var obj = {
                data: [],
                cols: []
            }
            var ending = false;
            a.forEach(function(v, i) {
                var arr = []
                for(var i in v) {
                    arr.push(v[i]);
                    if(ending == false) {
                        obj.cols.push({
                            title: i
                        });
                    }
                }
                ending = true;
                obj.data.push(arr);
            });
            res.send(obj);  
        });
        connection.end(function(err) {
            if(err) {
                console.log("180行"+err);
            } else {

                console.log("断开连接");

            }
        });
    });
});
//端口监听
app.listen(8282);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值