欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-24 13:12:29
前言 koa2真的是个很轻量的框架,轻量到路由都作为了模块单独了出来,koa2也没有日志功能,如果我们需要有一些请求的日志和时间,我们就需要引入日志中间件 下面话不多说...

前言

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

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

总结

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