Node.js console.log无法使用2012年8月的Azure SDK

时间:2012-08-14 03:32:39

标签: node.js azure

我正在关注Windows Azure Node.js网站上的教程:

http://www.windowsazure.com/en-us/develop/nodejs/tutorials/

但是我的server.js.logs文件没有被创建?

在我的server.js文件中,我发出了console.log语句,但没有写入日志文件。这是为什么? 8月SDK中的更改是为了防止我的日志被写入?

或者我需要启用什么才能编写console.log语句?

由于

3 个答案:

答案 0 :(得分:1)

请参阅https://github.com/tjanczuk/iisnode/issues/168链接到https://github.com/tjanczuk/iisnode/wiki/iisnode-releases(v0.1.20说明)。

最新的Windows Azure Node.js SDK必须选择更新版本的iisnode,并且iisnode会更改日志文件的位置。

答案 1 :(得分:0)

是的,iisnode现在将日志文件放在〜/ iisnode目录中,并将索引写入您可以浏览的日志文件。它还包含一个新的node.js脚本,interceptor.js,它允许您将日志文件写入任何位置

答案 2 :(得分:-1)

您必须了解node.js中的console.log主要用于客户端日志记录。我刚刚测试过,当你在node.js上使用console.log时,在Windows Azure stdout日志文件上运行的应用程序无法创建,因此你不会得到任何日志。

如果要将记录添加到在Web服务器上运行的代码中,您应该使用服务器端日志记录代码,我发现连接库最强大且非常有用: https://github.com/senchalabs/Connect

正如您所建议的,您的代码在Compute Emulator中运行意味着您正在创建Windows Azure云服务,您应该按照下面的文章一步一步地实现它:

https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/

请注意,当您的node.js代码在Compute Emulator中运行时,console.log仍然不会显示任何内容。