日志收集

86 阅读1分钟
// 模块名称:日志收集 
// 模块日期:2021/07/22 10:15
// 模块作者:刘俊雄

var fs = require('fs');
var time = require('./time.js');
var date = require('./date.js');

module.exports = function(req, res, next) {

    // console.log(req.headers['host']);         // 请求地址
    // console.log(req.headers['user-agent']);   // 请求信息
    // console.log(req.method);                  // 请求类型
    // console.log(req._parsedUrl['pathname']);  // 请求路径
    // console.log(req.query);                   // 携带参数
    // console.log(req.body);                    // 携带参数

    // 1 获取当天的日志文件 是否存在 ,存在则往里面存信息 不存在则创建文件,再往里面存信息
    // var str = `[${time(new Date())}]--${req._parsedUrl['pathname']}--${req.method}--${JSON.stringify(req[req.method == 'GET' ? 'query' : 'body'])}--${req.headers['host']}--${req.headers['user-agent']}\r\n`;
    // console.log(str);


    var str = JSON.stringify({
        time:time(new Date()),
        pathname:req._parsedUrl['pathname'],
        method:req.method,
        body:req[req.method == 'GET' ? 'query' : 'body'],
        host:req.headers['host'],
        useragent:req.headers['user-agent']
    })+"\r\n";

    // 文件路径
    var fileName = './log/'+date(new Date()) + '.log';
    // 追加数据,文件不存在则创建文件再追加数据
    fs.appendFile(fileName, str , (err) => {
        if (err) throw err;
    });
    
    next();
}