【Node.js】日志记录

56 阅读1分钟

log4js - npm (npmjs.com)

image.png

默认的输出:

image.png

const log4js = require("log4js");

// log4js 相关配置
log4js.configure({
  // 定义日志输出的方式
  appenders: {
    // 自定义输出器
    cheese: {
      type: "file",
      filename: "cheese.log",
      layout: { type: "pattern", pattern: "%d{yyyy-MM-dd hh:mm:ss} [%p] %m" },
    },
    dayfile: {
      type: "dateFile",
      filename: "cheese",
      pattern: "-yyyy-MM-dd",
      layout: { type: "pattern", pattern: "%d{yyyy-MM-dd hh:mm:ss} [%p] %m" },
    },
  },
  // 定义日志输出的类别和对应的输出器
  categories: {
    default: {
      appenders: ["cheese"],
      level: "debug",
    },
    error: {
      appenders: ["dayfile"],
      level: "error",
    }
  },
});
// 默认的输出器
const logger = log4js.getLogger();
// 自定义的记录错误的输出器
const errorLogger = log4js.getLogger("error");

// logger.level = 'debug';

// logger 级别 从低到高:trace < debug < info < warn < error < fatal
// 上面设置的 level 为 debug,所以 trace 和 debug 级别不会输出
logger.trace("Entering trace");
logger.debug("Entering debug");
logger.info("Entering info");
logger.warn("Entering warn");
errorLogger.error("Entering error");
errorLogger.fatal("Entering fatal");

配置后的输出:

image.png