2015-06-13 67 views
7

如何在开发过程中查看Electron中的错误消息和控制台日志?另外,是否可以将日志直接写入文件?Electron中的错误消息和控制台日志?


编辑:像使用Chrome的开发工具中显示的错误和控制台日志类: Screenshot of Chrome's dev tools 除了在电子,而不是浏览器。

+0

什么是电子记录的手段? –

+0

在客户端,您无法维护登录文件,但在服务器端,您可以根据我的知识写入登录文件。 –

+0

@ManeeshSingh它是一个客户端应用程序。如果我不能将日志写入文件,这很好,但是可以查看它们吗? – Oztaco

回答

12

在您的BrowserWindow调用函数openDevTools()这将打开您在Chrome中找到的相同开发工具。我在我的博客http://www.mylifeforthecode.com/debugging-renderer-process-in-electron/上写了这篇文章。

下面是一个简单的main.js文件,其中包括openDevTools:

var app = require('app'); 
var BrowserWindow = require('browser-window'); 

var mainWindow = null; 

app.on('window-all-closed', function() { 
    if (process.platform != 'darwin') 
    app.quit(); 
}); 

app.on('ready', function() {  
    mainWindow = new BrowserWindow({width: 800, height: 600}); 
    mainWindow.loadUrl('file://' + __dirname + '/index.html'); 
    mainWindow.openDevTools(); 
    mainWindow.on('closed', function() { 
    mainWindow = null; 
    }); 
}); 

您还可以通过使用遥控器模块渲染器访问的过程这一点。对于我一直在修补的应用程序,我将函数toggleDevTools绑定到F12。类似这样的:

var remote = require('remote');   
    document.addEventListener("keydown", function (e) { 
    if (e.keyCode === 123) { // F12 
     var window = remote.getCurrentWindow(); 
     window.toggleDevTools();   
    } 
    }); 

请注意,我只在Windows中使用Electron进行过上述测试。我假设Linux和Mac版本的工作原理是一样的。如果你正在运行Mac或Linux,请告诉我,如果他们不。

+1

此外,为了记录到文件,您还可以使用Winston或Bunyan等典型的日志记录软件包。 – Josh

+0

只是为了确认函数'openDevTools()'能在Mac上正常工作 – user2370460

+0

re:@Josh - 如何连接winston来覆盖Electron的控制台? – evandrix

相关问题