怎样使用Nodejs创建访问日志记录的中间件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,怎样使用Nodejs创建访问日志记录的中间件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。中间件-访问日志目标利用中间件技术,写一个用来
千家信息网最后更新 2026年11月01日怎样使用Nodejs创建访问日志记录的中间件
怎样使用Nodejs创建访问日志记录的中间件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
中间件-访问日志
目标
利用中间件技术,写一个用来记录访问日志的中间件
中间件
middleware, 中间件是一个特殊的url地址处理函数,它被当作 app.use(中间件函数) 的参数或者是某个路由处理函数中使用。
中间件是 express 的最大特色,也是最重要的一个设计。
Express是一个自身功能极简,完全是路由和中间件构成一个web开发框架:从本质上来说,一个Express应用就是在调用各种中间件。【推荐学习:《nodejs 教程》】一个 express 应用,就是由许许多多的中间件来完成的。
中间件的基本使用
// 具名函数格式:const handler1 = (req, res, next) => { console.log(Date.now()); next();}app.use(handler1);// 匿名函数格式:app.use((req, res, next) => { console.log(Date.now()); next();});说明:中间件函数中有三个基本参数, req、res、next
req 就是请求相关的对象,它和下一个中间件函数中的req对象是一个对象
res 就是响应相关的对象,它和下一个中间件函数中的res对象是一个对象
next 它是一个函数,调用它将会跳出当前的中间件函数,执行后续中间件;如果不调用next,也不执行res.end,则整个请求都会在当前中间件卡住。
思路
应用中间件技术,将每条请求都记录下来
建立一个
.json的文件用来存储记录将数据读取后放入
.json文件
js实现代码
const express = require("express");const app = express();const fs = require("fs");// 获取ip的函数function getClientIp(req) { return ( req.headers["x-forwarded-for"] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress );}// 中间件app.use((req, res, next) => { console.log("时间", new Date()); console.log("访问地址", req.url); console.log("f访问ip", getClientIp(req)); /** * 建立一个.json的文件 [] * 获取文件内容'[]'==>[] * let obj = {time:xxx,url:xxx,ip:xxx} * [].push(obj) * [].push(obj)覆盖写入.json的文件 */ fs.readFile("hhhh.json", "utf8", (err, data) => { if (err) { console.log("文件读取错误", err); return; } let arr = JSON.parse(data); //console.log(arr); let obj = {}; obj.time = new Date(); obj.url = req.url; obj.ip = getClientIp(req); arr.push(obj); console.log(arr); let newArr = JSON.stringify(arr); fs.writeFile("hhhh.json", newArr, (err) => { if (err) { console.log("写入错误", err); } }); }); next();});// 监听接口app.listen(8080, () => { console.log("成功,接口是8080");});控制台截图
看完上述内容,你们掌握怎样使用Nodejs创建访问日志记录的中间件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
中间件
函数
对象
文件
日志
内容
就是
应用
参数
地址
技术
接口
方法
更多
格式
路由
错误
问题
处理
特殊
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
博彦科技互联网金融
互联网科技工作委员会
互联网下的科技发展
互联网科技战争
互联网科技的发展
互联网的科技创新
天津摩尔互联网科技
有木互联网科技
广西拼得多互联网科技有限公司
互联网科技公司招聘
互联网金融科技展
科技类公司包括互联网吗
互联网科技的全部知识
元气玛特互联网科技公司是外包吗
山东星卡互联网科技有限公司官网
江苏苏星互联网科技有限公司
杭州披云加互联网科技有限公司
互联网高科技行业有哪些企业
青岛易易互联网科技
互联网对科技影响
科技创新互联网企业
西藏七维空间互联网科技有限公司
互联网科技有哪些公司
华中科技大学互联网的牛人
上海钢联属于互联网科技股吗
启辰互联网科技
同城互联网络科技
互联网领先科技成果宣传视频
上海旺乐尼互联网科技有限公司
北京瑞云互联网科技有限公司