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/,页面显示
控制台输出
2
给请求日志添加时间
改变一下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
控制台输出如下
这样我们就有了一个带时间的请求日志了
网友评论