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 相关文章推荐
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
jQuery实现的导航下拉菜单效果
Jul 04 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
用JavaScript做简易的购物车的代码示例
Oct 20 Javascript
微信小程序 WXML节点信息查询详解
Jul 29 Javascript
解决layui使用layui-icon出现默认图标的问题
Sep 11 Javascript
Javascript操作select控件代码实例
Feb 14 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操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
php中的ini配置原理详解
2014/10/14 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
python将ip地址转换成整数的方法
2015/03/17 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python字符串的修改方法实例
2019/12/19 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
医务人员自我评价
2014/01/26 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
护林防火标语
2014/06/27 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript