nodejs将console.log保存到log.txt文档中(electron工具)

txtConsole.js

js 复制代码
const { app } = require('electron');
const fs = require('fs');
const moment = require('moment');
const mainData = require('./mainData');

//electron 软件根目录
const rootPath = path.dirname(app.getPath('exe'));

const txtConsole = {
  log(p1 = '', p2 = '', p3 = '', p4 = '', p5 = '') {
    const logPath = `${rootPath}/log.txt`;

    try {
      //创建config文件
      if (!fs.existsSync(logPath)) {
        //新建文件
        fs.writeFileSync(logPath, '');
      }

      //追加到log文件
      fs.appendFileSync(
        logPath,
        `\r\n ${moment().format('Y-MM-DD HH:mm:ss')} |  ${p1} ${p2} ${p3} ${p4} ${p5}`,
      );

      console.log(p1, p2, p3, p4, p5);
    } catch (err) {
      console.log('txtConsole: ', err);
    }
  },
  //清除日志 在app.js内进入执行
  clearLog() {
    const logPath = `${rootPath}/log.txt`;
    
    try {
      if (fs.existsSync(logPath)) {
        let stat = (fs.statSync(logPath)?.size || 1) / 1024;

        txtConsole.log(`当前log文件大小:${parseInt(stat)}KB`);

        if (parseInt(stat) > 1024) fs.unlinkSync(logPath);
      }
    } catch (err) {
      console.log(err);
    }
  },
}; //日志文件

module.exports = txtConsole;

调用

js 复制代码
txtConsole.log(1,2,3);
相关推荐
百思可瑞教育6 分钟前
在Vue项目中Axios发起请求时的小知识
前端·javascript·vue.js·北京百思教育
患得患失94921 分钟前
【个人项目】【前端实用工具】OpenAPI to TypeScript 转换器
前端·javascript·typescript
大前端helloworld27 分钟前
前端梳理体系从常问问题去完善-基础篇(html,css,js,ts)
前端·javascript·面试
trsoliu40 分钟前
前端基于 TypeScript 使用 Mastra 来开发一个 AI 应用 / AI 代理(Agent)
前端·人工智能
鸡吃丸子43 分钟前
前端权限控制:深入理解与实现RBAC模型
前端
Larry_zhang双栖44 分钟前
低版本Chrome 内核兼容性问题的优美解决
前端·chrome
良木林1 小时前
浅谈原型。
开发语言·javascript·原型模式
qq_12498707531 小时前
基于node.js+vue的医院陪诊系统的设计与实现(源码+论文+部署+安装)
前端·vue.js·node.js·毕业设计
袁煦丞2 小时前
9.12 Halo的“傻瓜建站魔法”:cpolar内网穿透实验室第637个成功挑战
前端·程序员·远程工作
universe_012 小时前
day27|前端框架学习
前端·笔记