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 相关文章推荐
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 Javascript
node.js中实现同步操作的3种实现方法
Dec 05 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
易操作的jQuery表单提示插件
Dec 01 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
深入理解vue.js中的v-if和v-show
Jun 22 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
Vue实现点击箭头上下移动效果
Jun 11 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
PHP 面向对象 final类与final方法
2010/05/05 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php实现评论回复删除功能
2017/05/23 PHP
document.all与WEB标准
2020/05/13 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
jquery编写日期选择器
2017/03/16 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
es6学习之解构时应该注意的点
2017/08/29 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
Javascript的this详解
2019/03/23 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
土木工程毕业生推荐信
2013/10/28 职场文书
护理专业应届毕业生推荐信
2013/11/15 职场文书
禁烟标语大全
2014/06/11 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
教师节倡议书2015
2015/04/27 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
python实现A*寻路算法
2021/06/13 Python
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏