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 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
ajax提交表单实现网页无刷新注册示例
May 08 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 Javascript
js仿京东轮播效果 选项卡套选项卡使用
Jan 12 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
深入理解Angularjs 脏值检测
Oct 12 Javascript
JavaScript变量Dom对象的所有属性
Apr 30 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 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函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
php通过session防url攻击方法
2014/12/10 PHP
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
跟老齐学Python之正规地说一句话
2014/09/28 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python如何定义带参数的装饰器
2018/03/20 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
利用nohup来开启python文件的方法
2019/01/14 Python
基于matplotlib xticks用法详解
2020/04/16 Python
Python中qutip用法示例详解
2020/10/02 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
工地门卫岗位职责
2013/12/30 职场文书
初中地理教学反思
2014/01/11 职场文书
校园演讲稿汇总
2014/05/21 职场文书
博士生专家推荐信
2014/09/26 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
Java 多态分析
2022/04/26 Java/Android