Node.js中Koa2在控制台输出请求日志的方法示例


Posted in Javascript onMay 02, 2019

前言

Koa2真的是个很轻量的框架,轻量到路由都作为了模块单独了出来,Koa2也没有日志功能,如果我们需要有一些请求的日志和时间,我们就需要引入日志中间件

下面话不多说了,来一起看看详细的介绍吧

引入时间格式化库MomentJS

安装MomentJS

npm install moment --save

简单格式化时间

使用YYYY-MM-DD HH:MM:SS代表 年-月-日 时-分-秒(24小时制)

console.log(Moment().format('YYYY-MM-DD HH:MM:SS'));

输出

2019-05-01 20:05:95

使用Koa2日志中间件

安装koa-logger

npm install koa-logger --save

如果需要使用TS,需要安装TS类型声明

npm install @types/koa-logger --save

简单使用koa-logger

const Koa = require("koa");    
const Koa_Logger = require("koa-logger");   // 日志中间件
const Koa_Router = require("koa-router");

// 实例化
const app = new Koa();    
const logger = Koa_Logger(); 
const router = new Koa_Router();

router.get("/",async (ctx)=>{
 ctx.body = "Hellow Koa";
});

// 使用中间件 
app.use(logger);     // 日志输出

app.use(router.routes());    // 路由

// 启动app
app.listen(3000);     // 设置监听端口
// 启动标识
console.log("Koa运行在:http://127.0.0.1:3000");

访问http://localhost:3000/,页面显示

Node.js中Koa2在控制台输出请求日志的方法示例

控制台输出

Node.js中Koa2在控制台输出请求日志的方法示例

给请求日志添加时间

改变一下logger的调用方式,加入moment格式化后的时间

const Koa = require("koa");        
const Koa_Logger = require("koa-logger");     // 日志中间件
const Koa_Router = require("koa-router");
const Moment = require("moment");
// 实例化
const app = new Koa();        
const logger = Koa_Logger((str) => {    // 使用日志中间件
 console.log(Moment().format('YYYY-MM-DD HH:MM:SS')+str);
});  
const router = new Koa_Router();

router.get("/",async (ctx)=>{
 ctx.body = "Hellow Koa";
});

// 使用中间件  
app.use(logger);         // 日志输出

app.use(router.routes());       // 路由

// 启动app
app.listen(3000);         // 设置监听端口
// 启动标识
console.log("Koa运行在:http://127.0.0.1:3000");

分别访问http://localhost:3000/
、http://localhost:3000/?test

控制台输出如下

Node.js中Koa2在控制台输出请求日志的方法示例

这样我们就有了一个带时间的请求日志了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery实现固定顶部导航效果(仿蘑菇街)
Mar 21 Javascript
checkbox全选所涉及到的知识点介绍
Dec 31 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
Jun 15 Javascript
Javscript调用iframe框架页面中函数的方法
Nov 01 Javascript
AngularJS中处理多个promise的方式
Feb 02 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
AngularJS之自定义服务详解(factory、service、provider)
Apr 14 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
详解微信小程序网络请求接口封装实例
May 02 #Javascript
vue 搭建后台系统模块化开发详解
May 01 #Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 #Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
May 01 #Javascript
3分钟了解vue数据劫持的原理实现
May 01 #Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 #Javascript
JavaScript强制类型转换和隐式类型转换操作示例
May 01 #Javascript
You might like
Symfony2创建页面实例详解
2016/03/18 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python flask 多对多表查询功能
2017/06/25 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
2015选调生工作总结
2015/07/24 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
Python time库的时间时钟处理
2021/05/02 Python
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python