2017-06-07 64 views
0

標準輸出Azure中的Linux應用服務我已經部署了應用程序的NodeJS到Linux應用程序服務,它記錄到stderr和stdout。 Linux App Service中的診斷日誌功能看起來不起作用,因爲表存儲中沒有任何內容。 Kudu中唯一的日誌來自Docker容器部署時。之後,它什麼都不記錄。通過捕捉的NodeJS

在捻的SSH組件無法正常工作,甚至繼official setup documentation後。

有沒有人想出辦法來捕獲輸出和錯誤?或者可以推薦一個他們已經在Linux App Service平臺上與NodeJS成功工作的庫?

+2

是否運行從自定義容器的應用程序?我們仍在努力正確地連接診斷日誌記錄,特別是對於表格存儲,但是如果您運行的是自定義容器,則大部分內容並不完全適用,因爲我們不會對您在內部執行的內容施加任何控制容器。我建議將stdout和stderr重定向到/ home/LogFiles中的.log文件 - 我們幾乎將日誌流功能全部用於Linux應用程序,一旦它到位,就可以連接到它並查看來自日誌文件的實時消息在該文件夾中。 – nlawalker

+1

@Baldy nlawalker是微軟的開發人員,你需要的功能將來會達到。 –

+0

好的謝謝澄清 – Baldy

回答

1

你可以使用Azure CLI 2.0捕捉到標準輸出。嘗試使用以下命令。

az webapp log config -g <resource group name> -n <app name> --application-logging true --detailed-error-messages true --level verbose 
az webapp log tail -g <resource group name> -n <app name> 

你可以得到幫助與-h

[email protected]:~# az webapp log config -h 

Command 
    az webapp log config: Configure web app logs. 

Arguments 
    --application-logging : Configure application logging to file system. Allowed values: false, 
           true. 
    --detailed-error-messages: Configure detailed error messages. Allowed values: false, true. 
    --failed-request-tracing : Configure failed request tracing. Allowed values: false, true. 
    --level     : Logging level. Allowed values: error, information, verbose, warning. 
    --slot -s    : The name of the slot. Default to the productions slot if not 
           specified. 
    --web-server-logging  : Configure Web server logging. Allowed values: filesystem, off, 
           storage. 

關於Azure的CLI支持Linux的Web應用程序,請參閱本link更多信息。

+0

謝謝。有它連接,但沒有出現。每分鐘只需獲取「無新追蹤」消息。看起來,由於表格存儲空白,診斷日誌不起作用。有什麼建議麼? – Baldy

+0

正如nlawalker所說,現在,您可以將日誌保存到'/ home/LogFiles'中。然後,您可以連接到它並查看來自日誌文件的實時消息。 –

+0

爲什麼Docker容器默認情況下不會將節點js日誌路由到那裏?它是一個節點容器,對嗎?還要注意從bash shell運行npm(ssh shell不會連接90%的時間),因爲它是一個超級舊版本,並且不匹配容器的節點版本。另一個MS FAIL。 –