我有一份Visual Studio Enterprise MSDN订阅,因此决定从Heroku转移到Microsoft Azure,因为以前我需要付款,现在不需要了。我的服务计划是D1。 我希望能够跟踪我的Node JS应用程序在Azure平台上的console.log字符串。我的服务计划是名为“shared”的共享计划。 我将应用程序代码部署在BitBucket上,并将我的存储库链接到具有正确分布的应用程序。正确意味着我看到绿色的勾选标志。我在应用程序的主文件夹中部署了一个名为IISNode.yml的文件,内容如下:
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\0.12.6\node.exe"
loggingEnabled: true
debuggingEnabled: false
devErrorsEnabled: false
node_env: production
第一行是我从Azure创建的iisnode.yml文件中复制的。其他行我不太确定它们的确切含义,但我想它们已经足够了。如果我访问网址:http://MY_APP_NAME.scm.azurewebsites.net/DebugConsole,我可以点击工具->日志流菜单,但页面仍然在加载中。我可以进入Azure门户,进入我的节点应用程序,选择工具->应用程序日志和Web服务器日志。应用程序日志显示了这个(我认为相当有趣)的消息:
System.ApplicationException: The trace listener AzureBlobTraceListener is disabled. ---> System.InvalidOperationException: The SAS URL for the cloud storage account is not specified. Use the environment variable 'DIAGNOSTICS_AZUREBLOBCONTAINERSASURL' to define it.
at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.RefreshConfig()
我还没有了解关于这个"环境变量"的信息,也猜不出BLOB容器与我的日志应用有什么关系。那么正确的变量值是什么?如果有的话,为什么这个值是正确的?
Web服务日志为空。我可以从相同门户的应用程序监视器中看到HTTP活动,但仍然没有日志。
我有什么遗漏吗?我决定安装Visual Studio,也许这会有所帮助?我希望它可以与Azure良好集成。同时,我的(极其简单)Node应用程序的控制台日志在哪里?