log4js
概念
- level:日志级别 -例如调试日志,信息日志,错误日志等
- category:日志分类
- 例如sql日志,请求日志等
- appender:日志出口
- 应该把日志写到哪
- 日志的书写格式是什么(layouts)
示例:
const log4js = require("log4js");
const path = require("path");
log4js.configure({
appenders: {
sql: {
// 定义一个sql日志出口
type: "dateFile",
filename: path.resolve(__dirname, "logs", "sql", "logging.log"),
//配置最大字节数
maxLogSize:1024,
keepFileExt:true,
daysToKeep:0,
layout:{
type:"pattern",
pattern:"%d{yyyy-MM-dd hh:mm:ss} %p %c: %m"
},
},
default:{
type:"file",
filename:path.resolve(__dirname, "logs", "default", "logging.log"),
}
},
categories: {
sql: {
appenders: ["sql"], // 该分类使用出口sql的配置写入日志
level: "all",
},
default:{
appenders:["default"],
level:"all",
},
},
});
process.on("exit", () => {
log4js.shutdown();
});
const sqlLogger = log4js.getLogger("sql");
const defaultLogger = log4js.getLogger();
exports.sqlLogger = sqlLogger;
exports.logger = defaultLogger;