我想在http請求內部到達IIS中的雲服務時看到它。我已經查看了相當多的信息,但不太清楚如何啓用它。例如,this site提供了一些有用的信息。繼該頁面中,我所實現的是這樣的:Azure雲服務:如何登錄IIS請求
連接到我的雲服務在Visual Studio和更新日誌 目錄轉會期爲1分鐘(我嘗試了不同的緩衝 大小,但都沒有效果)。
選定在Visual Studio中雲服務,並選擇以查看診斷數據。然後選擇IIS日誌,Windows Azure的日誌裏面 目錄:
在這一點上,我得到一個404錯誤:
所以,看來,雖然我已經成立了e接收日誌文件的可能性,它們實際上並未生成。如果我可以在不重新部署的情況下完成這一切,那將是理想的,但我認爲我可能需要在web.config中啓用某些內容 - 只是不知道該怎麼做。我已閱讀this answer中提供的鏈接,但無法找到我實際需要實現的功能,超出了我已完成的功能。任何指針都會很棒,如果更容易嘗試一種不同的(非IIS)方法,那麼很高興。
更新
因此,基於從MikeWo和kwill的有用的建議,我做了一些進一步的挖掘。首先,我確保存儲帳戶配置正確。它似乎是,首先是因爲這是我用於我的Web應用程序的用戶上傳文件正確啓動的相同帳戶,其次是因爲我啓用了基礎結構日誌,使用與IIS相同的過程並且日誌啓動了:
這使我認爲IIS日誌不是首先生成的。所以,我用遠程桌面連接到服務器。使用IIS管理器中,我第一次看到日誌服務器:
日誌文件的位置不存在。所以看起來這個文件夾還沒有被創建,並且在這裏沒有任何記錄。 接下來,我看了看記錄爲我的網站:
在這種情況下,有日誌文件,但他們從一個多月前。最後,我按照指示here和here希望我能夠提高網站的日誌記錄級別。
appcmd set config /section:httpLogging /dontLog:False
appcmd.exe set config "<mysite>" -section:system.webServer/httpLogging /dontLog:"false" /commit:apphost
appcmd.exe set config "<mysite>" -section:system.webServer/httpLogging /selectiveLogging:"LogAll" /commit:apphost
命令成功,但這似乎沒有效果,我沒有看到任何更多的日誌出現在我的IIS文件夾中。
然後我嘗試:
appcmd set config /section:httpLogging /dontLog:False /commit:WEBROOT
並得到:
Description: The configuration section 'system.webServer/httpLogging' cannot be read because it is missing a section declaration
我不是太熱衷於去服務器上更改配置文件,但我想,如果我得到了一些安慰,我沿着正確的道路走下去。另外,我意識到這些變化並不會持久,但我只是想看看我能否得到任何工作。
這些都是在Visual Studio中的診斷設置它使用相同的存儲帳戶作爲我的應用程序的正常工作:
很明顯的是,IIS診斷文件在正確的位置轉動起來要轉移到存儲:
解
kwill's answer最終讓我走上了正軌。 IIS文件夾確實存在,但最後一個日誌來自一個月前。我添加了一個虛擬文件,它出現在blob中。我將添加一個關於爲什麼IIS日誌不被更新的單獨問題。
非常感謝,我會鍛鍊耐心,看到我找到。 – acarlon
我實際上在一夜之間啓用了日誌記錄,沒有任何東西出現。根據我的更新,我沒有多少運氣做了一些更多的分析。 – acarlon
如果部署新的默認WebRole並將目錄傳輸週期設置爲1分鐘,則會發現C:\ Resources \ .DiagnosticStore文件夾確實存在,並且會生成IIS日誌並將其傳輸到存儲。如果該文件夾在您的部署中不存在,那麼只要打開診斷程序,該文件夾就是由來賓代理程序創建的,就會發生一些非常奇怪的事情。您可以查看C:\ config中的最新XML文件,並確保定義了DiagnosticStore本地存儲資源。 –
kwill