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();
}