首页 文章 精选 留言 我的

精选列表

搜索[组件化],共10000篇文章
优秀的个人博客,低调大师

morgan nodejs日志组件两种用法

记录请求参数和请求内容 默认morgan没有提供记录请求参数和请求内容的方法, 但是他提供了扩展方法,如下: morgan.token('requestParameters', function(req, res){ return JSON.stringify(req.query) || '-'; }); morgan.token('requestBody', function(req, res){ return JSON.stringify(req.body) || '-'; }); // create custom format,includes the custom token morgan.format('live-api', ':method :url :status :requestParameters :requestBody'); app.use(morgan('live-api')); 输出日志到数据库或将日志作为参数发送到其他请求 默认日志信息是输出到命令行窗口中,能否输出到文件或数据库中呢?答案是肯定的 定义morgan的options中有个stream配置项,我们可以利用他做文章。 const request = require('request') const split = require('split') // 将日志信息作为请求参数传给其他地址,比如 Elasticsearch 日志分析系统 let httpLogStream = split().on('data', function (line) { request({ url: 'localhost://192.168.1.1:8080', method: 'POST', body: line }) .on('response', function(response) { console.log(response.statusCode) // 200 }) }); app.use(morgan('common', { stream: httpLogStream })); // 将日志写入数据库 // 带write方法的对象 let dbStream = { write: function(line){ saveToDatabase(line); // 伪代码,保存到数据库 } }; // 将 dbStream 作为 stream 配置项的值 app.use(morgan('short', {stream: dbStream}));

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册