Skip to content

Log4js

目录


Log4js 是我个人用得最多的日志库,它的配置也很简单。下面是一些常用的配置,更多配置可以参考官方文档。

安装

bash
npm i log4js

配置

ts
import Log4js from "log4js";

Log4js.configure({
  appenders: {
    // 控制台输出
    console: { type: "console" },
    // 文件输出
    file: {
      // 输出类型: fileSync | file
      type: "fileSync",
      // 最大文件大小
      maxLogSize: 10485760,
      // 最大文件数量
      backups: 5,
      // 压缩
      compress: true,
      // 文件名
      filename: "logs/app.log",
    },
  },
  categories: {
    default: {
      appenders: ["console", "file"],
      // 日志级别: trace | debug | info | warn | error | fatal
      level: "debug",
      // level: "info"
    },
  },
});

export const Logger = Log4js.getLogger("loggerName");

express 日志中间件

ts
import { Request, Response, NextFunction } from "express";

// logger中间件
export function logger(req: Request, res: Response, next: NextFunction): void {
  // 记录日志
  Logger.info({
    method: req.method,
    url: req.url,
    body: req.body,
    query: req.query,
    realIP: res.locals.realIP, // IP是通过其他中间件获取的
  });
  next();
}

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1