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 相关文章推荐
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
原生js编写2048小游戏
Mar 17 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
学前端,css与javascript重难点浅析
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 清除网页病毒的方法
2008/12/05 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
php短信接口代码
2016/05/13 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
ExtJS 入门
2010/10/29 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
js实现二级导航功能
2017/03/03 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
使用python分析git log日志示例
2014/02/27 Python
python 字符串常用函数详解
2019/09/11 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
Linux开机引导的步骤是什么
2014/02/26 面试题
汽车驾驶求职信
2013/10/25 职场文书
作弊检讨书1000字
2014/02/01 职场文书
2015年社区工作总结
2015/04/08 职场文书
2015年暑期见闻
2015/07/14 职场文书
中学图书馆工作总结
2015/08/11 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android