美文网首页IT@程序员猿媛程序员程序园
Node.js中Koa2在控制台输出请求日志的方法

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

作者: JabinGP | 来源:发表于2019-05-02 00:07 被阅读4次

    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/,页面显示

    1
    控制台输出
    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
    控制台输出如下

    3

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

    相关文章

      网友评论

        本文标题:Node.js中Koa2在控制台输出请求日志的方法

        本文链接:https://www.haomeiwen.com/subject/hjxgnqtx.html