2012-08-14 90 views
0

我下面的Windows Azure的Node.js的站點上的教程工作沒有被創造?的Node.js的console.log不使用2012年8月Azure的SDK

在我server.js文件,我發出的console.log陳述,但沒有被寫入日誌文件。這是爲什麼?八月SDK中發生了什麼變化,以防止我的日誌被寫入?

或者我需要什麼,以使使用者編寫的console.log語句?

感謝

+0

哪些具體教程,你的工作嗎?這是運行本地還是與Azure一起運行?通過Web站點,您將看到一個server.js.logs文件夾和Web角色,您應該可以在Web角色的iisnode子目錄中看到您的文件。 – 2012-08-14 05:56:28

+0

Windows Azure Node.js 2012年8月SDK改變了我認爲Jim的一些事情。當我瀏覽webrole文件夾時,我看到一個iisnode文件夾,在issnode文件夾內是日誌文件。不知道什麼微軟要做什麼,因爲他們沒有給出任何關於SDK的新文檔以及發生了什麼變化等等。所以我猜測他們已經取消了server.js.logs文件並且使用issnode解決方案。 – 2012-08-14 06:48:12

+0

它在azure模擬器中運行本地。 – 2012-08-14 06:54:53

回答

-1

你必須瞭解的Node.js是的console.log主要用於客戶端的日誌記錄。我剛剛測試過,當您在運行於Windows Azure的node.js應用程序中使用console.log時,stdout日誌文件無法創建,因此您將無法獲取任何日誌。

如果你想記錄添加到它是一個網絡服務器上運行,你應該使用服務器端的日誌記錄代碼的代碼,我發現連接庫是用於此目的的最強大,最有用: https://github.com/senchalabs/Connect

正如你提示你的代碼是在計算模擬器中運行意味着你正在創建的Windows Azure雲服務,你應該按照你一步下面文章一步,你會得到它的工作:

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

被告知,仍然執行console.log不會t在Node.js代碼在Compute Emulator中運行時顯示任何內容。

+0

關於console.log,你不太正確。在node.js中,它將寫入服務器上的stdout,這是從命令提示符運行時的控制檯窗口。它與客戶端日誌無關。 – 2012-08-14 17:12:37

+0

你說得對,我想說的是,在一些網絡服務器標準輸出無法創建,這就是爲什麼使用它可能不是一個好的選擇。當我在Azure Cloud Service中測試代碼時,我沒有看到標準輸出是由Azure網站創建的,但是其他日誌發佈到特定的* .js.log仍然不是特定於console.log。 – AvkashChauhan 2012-08-14 17:23:57

0

是的,現在iisnode把在〜/ iisnode目錄中的日誌文件,並寫入的索引,您可以瀏覽日誌文件。它還包含了一個新的Node.js腳本,interceptor.js它允許你寫日誌文件任何位置

相關問題