2011-06-17 59 views
1

我有一個使用System.Diagnostics.Trace和System.Diagnostics.EventLog類生成應用程序的日誌記錄信息的應用程序。將EventLog條目保存到Windows Azure存儲

我知道可以配置Azure角色以將System.Diagnostics.Trace存儲的信息自動保存到Azure存儲中。

我想知道是否有什麼我可以做的,以獲得與System.Diagnostics.EventLog相同的行爲(更改Azure角色中的某些配置並將EventLog數據存儲到Azure存儲)。

Regards

回答

1

對於診斷跟蹤,您需要:

  • 使用診斷跟蹤偵聽Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener在你的web.config
  • 確保Logs.ScheduledTransferPeriod是設置

對於事件日誌跟蹤,您需要配置診斷以跟蹤應用程序事件日誌:

config.WindowsEventLog.DataSources.Add(「Application!*」); 
// can also add System if you want to: config.WindowsEventLog.DataSources.Add(「System!*」); 
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(5); 

有關完整的說明,請參閱http://blog.bareweb.eu/2011/01/beginning-azure-diagnostics/

+0

嗨斯圖爾特,感謝您的回答。問題是這些步驟將幫助我保存由System.Diagnostics.Trace保存的,我已經知道該怎麼做的信息。我需要的是類似的東西,但對於System.Diagnostics.EventLog類。 – willvv

+0

啊 - 對不起!這些條目寫入到Windows應用程序事件日誌中 - 也添加了關於這些條目的評論。 – Stuart

0

實際上,沒有東西會自動保存在存儲中。信息被緩存到磁盤上的角色中,然後(按需或按計劃)傳輸到存儲器中。所以,你絕對可以用EventLog做同樣的事情。您只需像常規一樣使用它們,配置診斷程序來監視它們,並偶爾轉移到存儲設備。使用Windows Azure MMC免費工具輕鬆完成此操作。