使用AzuredebuggingNode.js

我一直在与Node.js和Azure混在一起。 我创build了一个支持套接字连接的简单工作者angular色。 我试图debugging我的应用程序,但不知道如何,因为它本质上是一个套接字服务器。 更糟糕的是,我还没有想出一个方法来写入控制台或日志数据在这个工人angular色。 我希望有人已经find了在Azure中debuggingNode.js的好方法。 感谢您的帮助。

如果您正在模拟器中运行,则可以在模拟器GUI中看到您的日志(右键单击模拟器图标)。 如果您在Azure中运行,最好的办法是login到Blob存储。 您还可以启用远程桌面来远程访问Windows Azure VM。

当我最初在Nodejs下作为套接字服务器开发时,我直接运行并从WebStorm中debuggingnode.exe,因此只需console.log()或util.inspect()就可以接受,并在WebStorm的控制台窗口中查看活动。

当然,当我们部署到Windows Azure中时,即使我们远程桌面,似乎也无法在服务器中看到已启动的node.exe进程的运行时控制台窗口,因此无法提供帮助。尝试了几次日志logging库,唯一实际上可以保存到文件的是log4js。

我有一个logging器对象,暴露给应用程序的其余部分,所以他们不必知道实际的实现库。

var log4js = require('log4js'); // The logger helper utilises log4js under the covers. // Serves as a wrapper from the rest of the application. log4js.replaceConsole(); log4js.configure({ appenders: [ { type: 'console' }, { type: 'file', filename: 'log/socket.log', category: 'socket' } ] }); var logger = log4js.getLogger('socket'); 

因此,信息将被logging到部署服务器中的E:或F:\ approot \ log \ socket.log文件中。

然后使用一个像baretail一样的尾部程序来观察实时活动。