nodejs学习日记--请求日志,错误日志中间件

//引入express
const express = require("express");
let app = express();
//请求日志中间件
//放于get post中间件的最上层
router.use(function(req,res,next){
  const log = `
  --------------------------------------
  1.请求方式:${req.method},\n
  2.请求路径:${req.url},\n
  3.请求时间:${new Date()},\n
  --------------------------------------
  `
  fs.appendFile(path.join(__dirname,"req.log"),log,(err)=>{
    if(err){
      throw err;
    }else{
      next();
    }
  })
});



/*********错误日志演示******************************************/
router.get("/ad",(req,res,next)=>{
  try{
    res.end("1111111");
  }catch(e){
    next(e);//如果出现错误让他走到错误日志进行处理
  }
});
/**********************************/
//错误日志放于get,post中间件最下层
router.use((err,req,res,next)=>{//接收next传下来的错误
  const errLog = `
  ---------------------------------------------------------------
  1.错误名称:${err.name},\n
  1.错误信息:${err.message},\n
  1.错误时间:${new Date()},\n
  1.错误堆栈:${err.stack},\n
  ----------------------------------------------------------------
  `;
  fs.appendFile(path.join(__dirname,"err.log"),errLog,(err)=>{
    res.writeHead(500,{"content-type":"text/html;charset=utf8"});
    res.end("500 服务器内部错误");
  })
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值