Dot-Net

登錄部署到 Azure 的 .Net 的首選方式

  • March 8, 2011

您認為是在 Azure 部署的應用程序中進行簡單傳統日誌記錄的最佳方式嗎?

如果感覺要實際獲取文件等需要做很多工作……

什麼對你最有效?

我們使用寫入 Azure 表儲存的內置診斷。每當我們需要將消息寫入日誌時,它只是一個“Trace.WriteLine(…)”。

由於日誌被寫入 Azure 表儲存,我們有一個程序將下載日誌消息,並將它們從表儲存中刪除。這對我們很有效,但我認為這可能取決於應用程序。

<http://msdn.microsoft.com/en-us/library/gg433048.aspx>

希望能幫助到你!

[更新]

public void GetLogs() {
       int cnt = 0;
       bool foundRows = false;
       var entities = context.LogTable;
       while (1 == 1) {
           foreach (var en in entities) {
               processLogRow(en);
               context.DeleteObject(en);
               cnt++;
               try {
                   if (cnt % 100 == 0) {
                       foundRows = true;
                       context.SaveChanges(SaveChangesOptions.Batch);
                   }
               } catch (Exception ex) {
                   Console.WriteLine("Exception deleting batch. {0}", ex.Message);
               }
           }
           if (!foundRows)
               break;
           else {
               context.SaveChanges(SaveChangesOptions.Batch);
           }
           foundRows = false;
       }
       Console.WriteLine("Done! Total Deleted: {0}", cnt);
   }

引用自:https://stackoverflow.com/questions/5235518