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 设置标题的自动翻转
Oct 03 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
jquery 取子节点及当前节点属性值
Jul 25 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
Sep 03 Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
微信小程序swiper组件用法实例分析【附源码下载】
Dec 07 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
详解vue微信网页授权最终解决方案
Jun 16 Javascript
详解package.json版本号规则
Aug 01 Javascript
JS中循环遍历数组的四种方式总结
Jan 23 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
javascript 对象的定义方法
2007/01/10 Javascript
刷新时清空文本框内容的js代码
2007/04/23 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
python3实现ftp服务功能(客户端)
2017/03/24 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python 整数越界问题详解
2019/06/27 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
python 录制系统声音的示例
2020/12/21 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
党校学习党性分析材料
2014/12/19 职场文书
GPU服务器的多用户配置方法
2022/07/07 Servers
Python可视化神器pyecharts绘制水球图
2022/07/07 Python