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 相关文章推荐
javascritp实现input输入框相关限制用法
Jun 29 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
Jun 04 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
Mar 31 Javascript
一不小心就做错的JS闭包面试题
Nov 25 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
BootStrap数据表格实例代码
Sep 13 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
浅谈开发eslint规则
Oct 01 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 彩色文字实现代码
2009/06/29 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
jquery 弹出层实现代码
2009/10/30 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
Python线程中对join方法的运用的教程
2015/04/09 Python
django query模块
2019/04/20 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python中return如何写
2020/06/18 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
艺术爱好者的自我评价分享
2013/10/08 职场文书
学校个人对照检查材料
2014/08/26 职场文书
2014年秘书工作总结
2014/11/25 职场文书
节约用电通知
2015/04/25 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
基于angular实现树形二级表格
2021/10/16 Javascript