首页 前端知识 Electron使用electron-log输出主进程和渲染进程日志到指定文件

Electron使用electron-log输出主进程和渲染进程日志到指定文件

2024-05-06 09:05:43 前端知识 前端哥 108 271 我要收藏

文章目录

    • 安装electron-log
    • 创建logger.ts
    • 在主进程中引入logger.ts
    • 通过IPC输出渲染进程日志

安装electron-log

npm install electron-log

创建logger.ts

// logger.ts
// 引入模块
import log from 'electron-log';

// 关闭控制台打印
log.transports.console.level = false
log.transports.file.level = 'debug'
log.transports.file.maxSize = 10024300 // 文件最大不超过 10M
// 输出格式
log.transports.file.format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}]{scope} {text}'
let date = new Date()
let dateStr = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
// 文件位置及命名方式
// 默认位置为:C:\Users\[user]\AppData\Roaming\[appname]\electron_log\
// 文件名为:年-月-日.log 
// 自定义文件保存位置为安装目录下 \log\年-月-日.log 
log.transports.file.resolvePath = () => 'log\\' + dateStr+ '.log';

// 有六个日志级别error, warn, info, verbose, debug, silly。默认是silly
export default {
  info(param: any) {
    log.info(param)
  },
  warn(param: any) {
    log.warn(param)
  },
  error(param: any) {
    log.error(param)
  },
  debug(param: any) {
    log.debug(param)
  },
  verbose(param: any) {
    log.verbose(param)
  },
  silly(param: any) {
    log.silly(param)
  }
}

在主进程中引入logger.ts

// src\main\indrx.ts
import logger from '../../src/util/logger';

// 输出日志
logger.info('输出日志内容')

通过IPC输出渲染进程日志

渲染进程要输出日志到文件不能直接引用logger.ts,需要通过主进程中转处理。

// 渲染进程调用
ipcRenderer.invoke('logger', 'info', '输出日志内容')
// 主进程处理定义
ipcMain.handle('logger', (event, level,arg)=> {
  if (level === "info") {
    logger.info(arg);
  } else if (level === 'warn') {
    logger.warn(arg);
  } else if (level === 'error') {
    logger.error(arg);
  } else if (level === 'debug') {
    logger.debug(arg);
  }
})
转载请注明出处或者链接地址:https://www.qianduange.cn//article/7177.html
标签
electron
评论
发布的文章

exceljs

2024-05-11 10:05:00

Java研学-JSON与AJAX

2024-05-10 22:05:37

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!