nodejs之log4js日志管理

log4js官网

javascript 复制代码
npm i log4js
javascript 复制代码
const log4js = require("log4js");
const path = require("path");
Object.defineProperties;
log4js.configure({
  appenders: {
    aaa: {
      type: "dateFile", //设置为这种类型,日志文件会分割
      filename: path.resolve(__dirname, "logs", "sql", "sql.log"), //文件名
      maxLogSize: 1024, //一个日志文件的大小,超过就备份新建
      keepFileExt: true, //新建的文件保存文件后缀
      numBackups: Number.MAX_SAFE_INTEGER - 1, //同时保存多少个文件
      layout: {
        type: "pattern", //自定义输出的内容
        pattern: "yyyy-MM-dd %m",
      },
    },
    default111: {
      type: "file",
      filename: path.resolve(__dirname, "logs", "default.log"),
    },
  },
  categories: {
    // log4js.getLogger("sql")这里相对应,要使用那个类别,
    sql: {
      appenders: ["aaa"], //要使用那个输出源,和上面的appenders对应
      level: "all", //这个类别啥等级才需要记录
    },
    default: {
      //默认类别,必须要有
      appenders: ["default111"],
      level: "all",
    },
  },
});
process.on("exit", () => {
  //必须有,当程序意外关闭的时候,必须先把日志写完
  log4js.shutdown();
});
const logger = log4js.getLogger("sql");
setInterval(() => {
  logger.info("你好,hi");
}, 100);

很简陋,就一些简单配置,其余的看官网

相关推荐
没事别瞎琢磨1 小时前
十一、审计与 Run Session——每一步操作都被记录
人工智能·node.js
没事别瞎琢磨1 小时前
十六、AgentSandbox——把所有模块串起来的编排类
人工智能·node.js
没事别瞎琢磨1 小时前
十二、网络代理与白名单规则引擎
人工智能·node.js
没事别瞎琢磨1 小时前
十四、Git Worktree 隔离执行
人工智能·node.js
没事别瞎琢磨2 小时前
十、统一 Runner 入口——能力检测与模式回退
人工智能·node.js
没事别瞎琢磨2 小时前
八、环境隔离——构建安全的子进程环境
人工智能·node.js
没事别瞎琢磨3 小时前
六、输出捕获与截断
人工智能·node.js
没事别瞎琢磨3 小时前
七、敏感路径预检——Protected Paths
人工智能·node.js
没事别瞎琢磨4 小时前
五、进程执行——spawn、超时与进程树清理
人工智能·node.js
没事别瞎琢磨4 小时前
四、命令风险分级与审批策略
人工智能·node.js