我用Electron开发了一个应用程序,用Electron-Builder创建了一个Squirrel windows安装程序和更新程序,一切都很好,但是我在调试我的应用程序的生产版本时遇到了麻烦。
当使用生产版本时,console.log
创建的日志是否写入磁盘的某个位置?如果是,我可以在哪里找到它们?或者在编译可执行文件时,这些日志是否都被删除了?我的应用程序一定有某种类型的日志文件,对吗?
我在C:\Users\Tieme\AppData\Local\MyApp\SquirrelSetupLog
中找到了SquirrelSetupLog,但这不足以调试我的生产专用问题。
刚刚遇到了electron-log。如果常规的控制台日志确实没有写到磁盘的某个地方,这可能会起作用。
2条答案
按热度按时间gt0wga4j1#
如果您指的是来自Web应用程序内的控制台,则以下内容适用:)
您需要进行回拨才能使此功能正常工作。请在此处阅读有关它们的详细信息:http://electron.atom.io/docs/api/remote/
下面是一个简短的例子:
在电子文件
main.js
旁边名为logger.js
的文件中,添加以下代码:然后在您的webapp中,使用此命令调用此日志方法回调:
您可能还想了解一下https://www.npmjs.com/package/electron-log,以便“更好地”记录日志和写入磁盘,但是您总是需要使用回调。
evrscar22#
你可以告诉node将stdout写入一个文件,如下所示:https://stackoverflow.com/a/33898010/4418836
Squirrel输出的exe是一个 * 安装程序 * -而不是应用程序,正如你提到的,它会把你的实际应用程序(安装后)放在
C:\Users\YOUR_NAME\AppData\Local\YOUR_APP
中。因此,当您运行exe时,当前工作目录将是AppData\Local目录(而不是您运行安装程序的目录)。
因此,在让node将stdout输出到一个文件之后,在该目录中查找日志。