【发布时间】:2017-05-22 05:22:10
【问题描述】:
如果我的电子应用程序在生产模式下(即在将 .exe 文件提供给 Windows 平台的用户之后)出现问题,我想获取日志。
如何去做,我怎样才能基本上将我的错误写入一个本质上是循环的文件。
【问题讨论】:
如果我的电子应用程序在生产模式下(即在将 .exe 文件提供给 Windows 平台的用户之后)出现问题,我想获取日志。
如何去做,我怎样才能基本上将我的错误写入一个本质上是循环的文件。
【问题讨论】:
// 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";
【讨论】:
log.transports.file.file 已被弃用。相反,我建议使用以下方法。 log.transports.file.resolvePath = () => __dirname + "/logs/log.log";
在您的 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")
【讨论】:
请看这里: 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)
})
【讨论】:
netLog 仅用于网络日志记录,例如见geeksforgeeks.org/network-logging-in-electronjs