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

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

相关推荐
liangshanbo12155 小时前
Webpack 文件指纹面试题整理
前端·webpack·node.js
liangshanbo12157 小时前
Webpack 常见 Plugin 面试题
前端·webpack·node.js
liangshanbo12158 小时前
Webpack Tree Shaking 面试题整理
前端·webpack·node.js
搬砖的小码农_Sky8 小时前
AI Agent:Node.js和浏览器运行环境的本质区别
javascript·node.js·人机交互
李游Leo9 小时前
HarmonyOS 7 ArkTS + Node.js:把权限声明、运行时授权与隐私文案做成提审前一致性扫描【鸿蒙心迹】
华为·node.js·harmonyos
liangshanbo121511 小时前
Webpack的分包策略面试题
前端·webpack·node.js
搬砖的小码农_Sky1 天前
AI Agent:Windows上Node.js安装后 npm -v报错
前端·npm·node.js·人机交互
liangshanbo12152 天前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js
SelectDB技术团队2 天前
一条日志两套引擎的账:把 Elasticsearch 检索与分析合并到同一份数据的落地写法
大数据·数据库·elasticsearch·搜索引擎·全文检索·日志·apache doris
SelectDB技术团队2 天前
Apache Doris 高性能 Open Lake Variant 读写技术解析(含对比数据)
数据结构·数据库·clickhouse·日志·apache doris·selectdb·湖仓架构升级