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);
相关推荐
qq_406176142 分钟前
深入剖析JavaScript原型与原型链:从底层机制到实战应用
开发语言·前端·javascript·原型模式
弓.长.32 分钟前
React Native 鸿蒙跨平台开发:BottomSheet 底部面板详解
javascript·react native·react.js
开开心心_Every41 分钟前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
摘星编程1 小时前
React Native for OpenHarmony 实战:Permissions 权限管理详解
javascript·react native·react.js
闲蛋小超人笑嘻嘻1 小时前
Vue 插槽:从基础到进阶
前端·javascript·vue.js
摘星编程1 小时前
React Native for OpenHarmony 实战:SearchBar 搜索栏详解
javascript·react native·react.js
梦6501 小时前
Vue2 与 Vue3 对比 + 核心差异
前端·vue.js
tiandyoin2 小时前
给 MHTML 添加滚动条.mhtml
前端·chrome·html·mhtml
遗憾随她而去.2 小时前
前端大文件上传(切片并发/断点续传/秒传/WebWorker 计算Hash) 含完整代码
前端
AKA__老方丈3 小时前
vue-cropper图片裁剪、旋转、缩放、实时预览
前端·vue.js