实例详解Node.js中Koa2在控制台输出请求日志的方法

  • 更新时间:2020-03-12 16:21:13
  • 编辑:辛天华

前言

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在控制台输出请求日志的方法示例

这样我们就有了一个带时间的请求日志了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。

相关教程

  • node.js中的http.response.writeHead方法使用说明

    这篇文章主要介绍了node.js中的http.response.writeHead方法使用说明,本文介绍了http.response.writeHead的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下

    发布时间:2019-07-23

  • node.js集成百度UE编辑器

    这篇文章主要介绍了node.js集成百度UE编辑器的方法,需要的朋友可以参考下

    发布时间:2019-07-23

  • Node.js微服务

    Node.js微服务

    Node.js微服务 对如何采用Node.js及其生态工具进行微服务开发的*实践做了全面的介绍,内容包括对微服务架构基本概念及设计原则的讲解,以及如何采用Node.js搭配Seneca、PM2和Docker等现代化工具来

    大小:15.3 MB微服务电子书

  • 深入浅出Node.js

    深入浅出Node.js

    这书从不一样的角度介绍了Node本质的特性和构造。由首章Node介绍为数据库索引,涉及到Node的各个方面,主题思想包括控制模块体制的揭示、多线程I/O保持原理的呈现、多线程编写程序的讨论

    大小:19.3 MBNode.js电子书

  • Node.js项目实践:构建可扩展的Web应用

    Node.js项目实践:构建可扩展的Web应用

    《Node.js项目实践:构建可扩展的Web应用》 用专业的讲解方式,带领读者从Hello World示例开始,一步步将其构建成有实际用途的Node.js应用。《Node.js项目实践:构建可扩展的Web应用》涉及许多组

    大小:55.6 MBNode.js电子书

  • Node.js实战

    Node.js实战

    《Node.js实战(第2季)》作者来自CNode社区点击率颇高、粉丝数万的《一起学node.js》。《Node.js实战(第2季)》没有成为教条式的入门级别,而是真正进入Node.js实战层次。

    大小:6.25 MB电子书

  • Node.js调试指南

    Node.js调试指南

    本书是Node.js实战作者力作,Node.js调试指南,涉及CPU、内存、代码、工具、APM、日志、监控、应用等,本书并不适合Node.js 初学者,适合有一定Node.js 开发经验的人阅读

    大小:73.5 MBNode.js电子书

  • Node.js区块链开发

    Node.js区块链开发

    这是一本基于一个实际运行的区块链产品,也是开源产品的实践书籍,从代码层面深度完整讲述区块链开发的书籍,通过工程思维,讲解工程实践,真正体现编程技术的工具价值,欢迎下载阅读

    大小:23.9 MBNode.js电子书

  • Node.js:来一打(C++ 扩展)

    Node.js:来一打(C++ 扩展)

    Node.js做为近些年兴盛的这种程序编写运作时,托V8模块的福,在做为后端开发服务项目时会较为高的运作高效率,在许多情景下针对人们的平时开发设计充足用了。但是,它更为开发人员开过

    大小:146 MBNode.js电子书

  • Node.js硬实战:115个核心技巧

    Node.js硬实战:115个核心技巧

    《 Node.js 硬实战:115 个核心技巧 》是一本面向实战的Node.js教程进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精

    大小:212 MBNode.js电子书

  • Koa与Node.js开发实战

    Koa与Node.js开发实战

    基于Node.js平台的新一代Web开发框架Koa2,搭建真实线上实战项目,配套免费在线音视频Koa2教程,与微信小程序前后端搭配,全面掌握潮流技术

    大小:190.6 MBWeb开发电子书

用户留言