日志记录

45 阅读1分钟

log4js

概念

  • level:日志级别 -例如调试日志,信息日志,错误日志等

image.png

  • 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:1024keepFileExt: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;