【问题标题】:Electron app - logging to file in production电子应用程序 - 在生产中记录到文件
【发布时间】:2017-05-22 05:22:10
【问题描述】:

如果我的电子应用程序在生产模式下(即在将 .exe 文件提供给 Windows 平台的用户之后)出现问题,我想获取日志。

如何去做,我怎样才能基本上将我的错误写入一个本质上是循环的文件。

【问题讨论】:

    标签: node.js logging electron


    【解决方案1】:

    看看electron log

    // Setup file logging
    const log = require('electron-log');
    log.transports.file.level = 'info';
    log.transports.file.file = __dirname + 'log.log';
    
    // Log a message
    log.info('log message');
    

    编辑:

    如 cmets 中所述,“log.transports.file.file”已被弃用。

    我建议使用以下方法。

    log.transports.file.resolvePath = () => __dirname + "/log.log";
    

    【讨论】:

    • file.file 已被弃用。
    • 正如上面评论中提到的那样,log.transports.file.file 已被弃用。相反,我建议使用以下方法。 log.transports.file.resolvePath = () => __dirname + "/logs/log.log";
    【解决方案2】:

    在您的 electron.js 旁边创建一个名为 logger.js

    的文件
    const path = require("path");
    const log = require('electron-log');
    
    log.transports.file.resolvePath = () => path.join(__dirname, '/logsmain.log');
    log.transports.file.level = "info";
    
    exports.log = (entry) => log.info(entry)
    

    然后在您的应用上

    const logger = require('electron').remote.require('./logger');
    logger.log("some text")
    

    【讨论】:

      【解决方案3】:

      请看这里: https://www.electronjs.org/docs/api/net-log

      const { netLog } = require('electron')
      
      app.whenReady().then(async () => {
        await netLog.startLogging('/path/to/net-log')
        // After some network events
        const path = await netLog.stopLogging()
        console.log('Net-logs written to', path)
      })
      

      【讨论】:

      猜你喜欢
      • 2015-07-29
      • 1970-01-01
      • 2012-05-17
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 2018-07-01
      相关资源
      最近更新 更多