2013-08-27 96 views
0

我有關於將日誌文件同步到blob存儲的問題。實際上,我可以將日誌文件同步到blob存儲,但在此之後,當我將項目的新部署更新爲azure時,我的項目文件正在更改,並且日誌文件的內容也發生了變化,儘管文件名保持不變。因此WebRole試圖同步日誌文件並執行它,但是由於文件名,文件被覆蓋並且blob存儲中的所有數據都消失了。我如何爲不同的部署保存日誌文件?我希望我能解釋你,對我的英語感到抱歉。Azure:如何在不覆蓋舊日誌文件的情況下同步日誌文件?

回答

0

您可以在使用之前更改fileName。通過覆蓋File屬性,您可以將任何唯一的前綴(DeploymentID,TimeTicks,GUID ...)添加到文件名中。

public class AzureLocalStorageAppender:RollingFileAppender 
     { 
      public override string File 
      { 
       get 
       { 
        //Trace.WriteLine("get_"+base.File); 
        return base.File; 
       } 
       set 
       { 
        base.File = RoleEnvironment.GetLocalResource("LocalResourceNameHere").RootPath + @"\" 
         + "_" + Guid.NewGuid().ToString() 
         + new FileInfo(value).Name; 
        //Trace.WriteLine(base.File); 
       } 
      } 
} 
+0

但是,如果我更改了文件名,將會有數百萬的日誌文件,因爲我正在逐分同步它? – iburak

+0

然後您可以使用DeploymentID作爲前綴。隨機獨特的價值不套房你。 – NavaRajan

+0

你能舉一個例子,我該如何使用DeploymentID? – iburak

相關問題