2012-10-04 48 views
0

我正在傾銷我的Web應用程序嘗試捕獲異常錯誤跟蹤消息到C:\ Temp服務器上的Web服務器 但是,當我的Web應用程序在Azure上,我期待看到它們在Azure虛擬機c:\ Temp文件夾內,但我收到一條錯誤消息表示訪問路徑C:\ temp被拒絕。如何將錯誤日誌寫入文本文件並保存到天青VM的C:\ Temp?或者這在蔚藍上是不可能的? 任何替代解決方案。向azure VM記錄錯誤?

回答

2

您使用的是Azure Web角色,還是Azure虛擬Mashines或Azure WebSites?我假設Azure Web Role(又名雲服務)。

如果是這種情況,您需要爲您的WebRole使用Local Storage resource。然後,您可以使用Windows Azure Diagnostics偶爾將日誌傳輸到Blob存儲。 Diagnostics.Wadcfg需要的部分是<DataSources>元素,其子元素<DirectoryConfiguration>可能有一個<LocalResource>類型的子元素。前者將具有指向您爲WebRole配置的本地存儲資源的屬性name

如果是虛擬機的情況 - 因爲您具有完全的管理員訪問權限,所以您不會有任何問題,並且您可以在該機器上配置ACL的任何方面。

如果是Azure的網站已 - 不寫到C:\ TEMP而是讓本地Web應用程序文件夾,只是Server.MapPath("~/local.logs/somelog.txt");

+2

寫有我想補充這一點,如果你是雲服務( Azure Web Role),那麼您確實需要遵循此建議並通過Windows Azure診斷或其他機制從服務器獲取日誌。將文件寫入本地驅動器意味着它們是暫時的。如果虛擬機停機或重新啓動,您將丟失日誌。 – MikeWo