Skip to content
On this page

koa-logger

简介

koa-logger 是一个简洁而强大的日志中间件,用于在开发过程中记录 HTTP 请求和响应的信息。它能够帮助开发者更好地了解请求的处理过程和响应状态。

安装

bash
npm install koa-logger

基本使用

javascript
const Koa = require('koa');
const logger = require('koa-logger');

const app = new Koa();

// 注册中间件
app.use(logger());

app.use(async (ctx) => {
  ctx.body = { message: '请求已被记录' };
});

app.listen(3000);

高级配置

javascript
const Koa = require('koa');
const logger = require('koa-logger');

const app = new Koa();

// 自定义日志输出格式
app.use(logger((str, args) => {
  // str: 格式化后的日志字符串
  // args: 包含请求信息的数组
  const [method, path, status, time, size] = args;
  
  // 可以将日志写入文件或发送到日志服务
  console.log(`${method} ${path} - ${status} ${time} ${size}`);
}));

// 自定义日志转换器
app.use(logger({
  // 自定义日期格式
  transporter: (str, args) => {
    const datetime = new Date().toISOString();
    const [method, path, status, time, size] = args;
    console.log(`${datetime} ${method} ${path} ${status} ${time} ${size}`);
  }
}));

app.use(async (ctx) => {
  ctx.body = { message: '使用自定义日志格式' };
});

app.listen(3000);

日志输出示例

<-- GET /
  --> GET / 200 2ms 746b
  <-- POST /api/users
  --> POST /api/users 201 15ms 123b
  <-- GET /api/posts?page=1
  --> GET /api/posts?page=1 200 5ms 2.1kb

注意事项

  1. 建议仅在开发环境中使用此中间件,生产环境应使用更专业的日志解决方案
  2. 可以与其他日志工具(如 log4js、winston)配合使用
  3. 注意日志输出可能会影响应用性能,建议合理配置日志级别
  4. 在处理敏感信息时,确保不会将敏感数据记录到日志中

要保持清醒 永远不抱有意外的幻想 凭空的期待最要命